Cでascii文字をint型に変換するにはどうすればよいですか?CでASCII文字をint型に変換する方法
答えて
何について:
int a_as_int = (int)'a';
Cのchar値がintに暗黙的に変換されます。例えば、char c; ... printf("%d", c)
は、c
の10進ASCII値を出力し、int i = c;
は、にASCIIの整数値c
を置きます。明示的に(int)c
と変換することもできます。 ASCII桁をintに変換する方法など、何かを意味するならば、暗黙的にc
をintに変換した後、'0'
のASCII値、つまり48(Cでは、'0'
のような文字定数)を減算するc - '0'
になります。歴史的な理由からchar型ではなくint型です)。
あなたはこのために探しています:
int c = some_ascii_character;
それとも割り当てずに変換:
(int)some_aschii_character;
私は最初のものを探していましたが、 2番目の方法も同様に機能します。 –
あなたはASCII序値を意味ですか?誰もがあなたがそれを直接変換することができ、あなたに言ったよう...あなたはどのように私はそのUTF-16またはUTF-にASCII拡張文字を変換することができます」のようなものを意味しない限り
int x = 'a';
@Jim Balter申し訳ありませんが、明白なのですが、私はこれがC++とは対照的にどのようにC++であるのだろうと思っていました。用語のせいか、何か不足していますか? – quasiverse
@quasiverse編集を見てください。つまり、 "43分前"のリンクをクリックしてください。私のコメントは48分前に投稿されたことに注意してください。これは一般的に注意してください。 –
おっと、愚かな私は、私がそれを投稿したときに見た回ですが、もちろんそれは人々がそれを読むときに表示されるではありません。 –
:この1のようなタイプのキャストを試してみてください32値」となる。これは全く異なる質問です(少なくとも1つは良いと思います)。 https://stackoverflow.com/questions/114611/what-is-the-best-unicode-library-for-c/114643#114643
(ASCIIエクステンションの場合、これはASCIIセットの多くの「拡張」の1つを意味します)。ここでは「純粋な」Cのみを使用しています。基本ASCIIセットの0〜127文字はUnicodeに直接変換できますが、128-255はUnicodeに直接変換できません)。たとえば、ISO_8859-1 http://en.wikipedia.org/wiki/ISO_8859-1は、7ビットASCIIセット、または(有名な)コードページ437と850の8ビットの拡張です。
任意のUTF形式のASCII(0-127)文字は、整数表現と同じです。 –
@Chrisしかし、少なくとも50%の時間、誰かがASCIIを話すとき、彼は「ASCII拡張」を意味します...しかし、はい、このメモを返信に入れるのは面白いでしょう。ありがとう。 – xanatos
ASCII文字の範囲は0〜127です。したがって、UTF-16またはUTF-32に変換するのは単なるキャストです。おそらくUTF-8やISO 8859-1などのさまざまなバイトコードを変換するなど、何か違うものを意味しているかもしれません。 –
私はAshotとCwanに同意しますが、アスキー暗号7のようなintに '7'のように?
は、それから私は星いくつ:
か、多分あなたは警告、コメント後に修正
int i = (int) (seven - '0');
、感謝を取得します。
Cの警告はありません。 –
警告があった場合は、より大きな型( ''7' 'がint)をより小さい型(char)に変換する最初の行で取得する可能性が高くなります)。 –
文字定数から対応するASCII int値に手動でマップを書き込む場合を除き、C99標準ライブラリでは使用できません。
'a'
のようなCの文字定数は、ASCIIであるとは限りません。
C99は、これらの定数についていくつか保証しています。そのdigits be contiguous。
単語ASCIIのみフッタノートにC99 N1256 standard draftに表示され、フッターノート173)は言う:7ビットの米国のASCII文字セットを使用して実装で
、印刷文字は、そのこれらの あります値は0x20(スペース)から0x7E(チルダ)までの間にあります。制御文字は、 の値が0(NUL)から0x1F(US)、および文字0x7F(DEL)にあるものです。
そのASCIIを暗示
)が唯一の可能性
が関数ATOIを(整数にASCIIを使用していない。
#include <stdlib.h>
int num = atoi("23");
- 1. コンマでintに型打ち文字列を型変換する
- 2. 文字をASCIIコードに変換する
- 3. ascii文字をルビーエンコーディングに変換する
- 4. 文字列をASCIIに変換する
- 5. ASCIIをunsigned intに変換する方法
- 6. SMLで文字列をintに変換する方法(intオプションではなく)
- 7. C++ int型の文字列への変換
- 8. 文字列をus-asciiに変換するC#
- 9. 文字列型をJavaのクラス型に変換する方法
- 10. ASCII文字をASCIIのint値に変換するにはどうすればよいですか?
- 11. doubleをint型に変換した文字列に変換する
- 12. ハッシュ関数をC++で文字列をintに変換する
- 13. 文字列をintに変換する方法#
- 14. intを文字列に変換する方法は?
- 15. int(x)を使わずに文字列をintに変換する方法
- 16. HTML ASCIIコードを文字の対応文字に変換する
- 17. 文字列の各文字をASCIIに変換する
- 18. Perlで特殊ASCII文字を16進数に変換する方法
- 19. 暗黙的に「文字列」に型「int型」を変換できません
- 20. HttpServletRequest.setAttributeは()のASCII文字に変換
- 21. C/C++の文字列リテラルに非ASCII文字を挿入する方法
- 22. 数値の文字列をintベクトルに変換するC++
- 23. 8ビットのunsigned intを整数型または文字列型に変換する方法
- 24. intをintに変換する方法?、in C#
- 25. 文字列を型に変換する方法Uri(シンプル)
- 26. C#で文字列データ表現を型に変換する
- 27. 変換int型
- 28. C#ASCII GetBytes認識できない変換に使用する文字を設定する方法は?
- 29. NSStringを文字列値からASCII値に変換する方法
- 30. メモリ内容をASCIIコードで文字列に変換する
実際に '' C++とは異なり、Cですでにintです。 – UmmaGumma
引数に必要な参照を追加します:http://stackoverflow.com/questions/433895/why-are-c-character-literals-ints-instead-of-chars – xanatos