0

この形式で文字列内の各文字の値を出力しようとしています:

セット 0 のコード 2 の値: 41 42

セット 0 のコード 6 の値: 41 42 43 44 45 46

私はこれをやろうとしています:

printf("Code %d in set %d has value: %.*s\n", ndx, set, getCode(cs[set],ndx).size, getCode(cs[set],ndx).data);

しかし、これを行うと、値自体ではなく、値に関連付けられた文字が出力されます。データを指定された形式で印刷するにはどうすればよいですか?

4

2 に答える 2

0

配列を文字列として出力しています。代わりに、各文字をループして、その 10 進数値を出力します。

int i;
printf("Code %d in set %d has value: ", ndx, set);
for (i = 0; i < getCode(cs[set],ndx).size ; i++) {
  printf("%d ", getCode(cs[set],ndx).data[i]);
}
puts(""); //print a newline
于 2013-01-27T20:25:39.687 に答える
0

指定子を使用し%dます。

char str[] = "Hello";
printf("%d\n", str[0]);  // Displays 72
printf("%d\n", str[1]);  // Displays 101
于 2013-01-27T20:26:04.863 に答える