恥ずかしいかもしれませんが、どうぞ!次のコード (以下に示す) があり、int を取り、それを char 文字列に変換することを想定しています。(私は itoa() と snprintf について知っていますが、私はそれをこのように動作させたくありません。) 印刷しようとするまではすべて正常に動作しているように見えますが、inttochar 文字列には何も表示されません。それはおそらく私が見落としたばかげたことです...次の結果が得られます:
CHAR1: 4334321
CHAR2: 1234334
CHAR3:
コードは次のとおりです。
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main(){
int tester = 1234334; //Test value
char temp[10]; //Temporary string array.
char inttochar[10];
int t = 0;
//Reads int to array.
while(tester != 0){
temp[t] = (tester % 10) + '0';
tester /= 10;
t++;
}
temp[t] = '\0';
t = 0;
printf("CHAR1: %s\nCHAR2: ",temp);
//Reverses the string.
for(int j=strlen(temp); j>=0;j--){
inttochar[t] = temp[j];
printf("%c",inttochar[t]);
t++;
}
inttochar[t] = '\0';
t = 0;
printf("\nCHAR3: %s\n",inttochar);
}