質問

私は...スペース、タブ、改行などを含めた文字の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)は - 最初は小数、同じ数の二進バージョンを表示します。あなたがやろうとしているものを明確に -

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top