文字のASCII値を返す関数はありますか? (C ++)
質問
私は...スペース、タブ、改行などを含めた文字のASCII値を返す関数を必要とする
同様のノートで、16進数、10進数、および二進数間の変換関数は何ですか?
解決
char c;
int ascii = (int) c;
s2.data[j]=(char)count;
チャーの の整数、変換機能が不要である。
たぶん、あなたは文字列として整数を表示する機能を探している - ?進、バイナリまたは小数表現を使用して
他のヒント
あなたはASCII値を取得する機能を必要としない - ちょうど(暗黙の)キャストによって整数に変換します:
int x = 'A'; // x = 65
int y = '\t'; // x = 9
16進数または10進数の数を変換するには、あなたがprintf
ファミリーのメンバーのいずれかを使用することができます:
char buffer[32]; // make sure this is big enough!
sprintf(buffer, "%d", 12345); // decimal: buffer is assigned "12345"
sprintf(buffer, "%x", 12345); // hex: buffer is assigned "3039"
バイナリに変換する組み込みの機能はありません。あなたがあなた自身をロールバックする必要があります。
あなたのコード内の文字のASCII値を取得したい場合は、
、ちょうど引用符で文字を入れる
char c = 'a';
あなたは出力と内部表現を混乱することができます。キャラクターが持っているどのような値を参照するには:
char c = 'A';
cout << c << " has code " << int(c) << endl;
同様に、六角valuwes FO - すべての数字は16進数なので、それは、出力の問題だけです。
int n = 42;
cout << n << " in hex is " << hex << n << endl;
出力文で「六角は、」C ++マニピュレータです。進小数(12月)のためのマニピュレータは、残念ながらいないバイナリのために、あります。
は限り進&バイナリとして - それらの整数のちょうど表現したものです。あなたはおそらくしたいことはprintfのようなもの(「%d個」、n)とのprintf(「%X」、n)は - 最初は小数、同じ数の二進バージョンを表示します。あなたがやろうとしているものを明確に -
所属していません StackOverflow