値が 255 未満の整数があり、それらを char 配列に保存したいと考えています。いくつかのテストを試しています:
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
int
main(void)
{
char string[10];
int integers[10]; //all under 255.
int j;
for(j=0; j<10; j++)
{
integers[j]=j;
}
int i;
for(i=0; i<10; i++)
{
string[i]=(char)integers[i];
}
printf("%s \n", string);
return 0;
}
プログラムの最後までデバッガーを実行すると、文字列には次の ascii 値が含まれます。
"\000\001\002\003\004\005\006\a\b\t"
まず、006 の後に \a が表示され、最後に \t が表示される理由がわかりません。
第二に、私が意図していることを行うためのより良い方法があるのだろうか? ありがとう