4

まあ、タイトルはそれをかなり要約しています。C++ で asc("0") のようなものを使いたいのですが、プログラムをプラットフォームに依存しないようにしたいので、48 は使いたくありません。どんな助けでも感謝します。

4

3 に答える 3

9

文字定数を作成するには、単一引用符を使用するだけです。

char c = 'a';

文字型asc数値型であるため、と にchr相当するものは実際には必要ありません。

文字列の文字値を出力する小さな例を次に示します。

#include <stdio.h>

int main(int argc, char **argv) {
  char str[] ="Hello, World!";

  printf("string = \"%s\"\n", str);

  printf("chars = ");
  for (int i=0; str[i] != 0; i++) 
    printf("%d ", str[i]);
  printf("\n");

  return 0;
}

出力は次のとおりです。

string = "Hello, World!"
chars = 72 101 108 108 111 44 32 87 111 114 108 100 33 
于 2011-06-19T21:11:02.037 に答える
3

C および C++ では、and で囲まれ''ていない文字を使用する場合""、生のバイナリ値を既に処理していることを意味します。

現在、C および C++ では"0"、リテラルの 2 バイトの null で終わる文字列です: '0'and '\0'. (アスキー 48 アスキー 0)

var[0]"" null で終わる文字列で使用するか、変換ルーチンのいずれかを使用することで、目的を達成できます。( atoi()C ではstringstreamlib、C++ では lib)

于 2011-06-19T21:12:07.903 に答える
0

'0' と書くと、0 文字の ASCII 値が得られます。
同様に、必要なすべての文字に対して「char」。

于 2011-06-19T21:13:03.160 に答える