私はこれらの文字を保持するchar * temp_string
を持っています。最後に\0
を含むHello\nWor'ld\\\042
です。フォーマットされた文字列と書式なしの文字列C
これは私が私の文字列を作る方法です。
char * addDataChunk(char * data,char c)
{
char * p;
if(data==NULL)
{
if(!(data=(char*)malloc(sizeof(char)*2))){
printf("malloc error\n");
throwInternError();
}
data[0]=c;
data[1]='\0';
return data;
}
else
{
if((p = (char*)realloc(data,((strlen(data)+2)*sizeof(char))))){
data = p;
}
else{
printf("realloc error\n");
throwInternError();
}
data[strlen(data)+1] = '\0';
data[strlen(data)] = c;
return data;
}
}
これは私がaddDataChunkを使用する方法である:
temp_char =getc(pFile);
temp_string=addDataChunk(temp_string,temp_char);
私はこの2行行うと:
printf("%s\n","Hello\nWor'ld\\\042");
printf("%s\n",temp_string);
を私が手これは:
Hello
Wor'ld\"
Hello\nWor'ld\\\042
出力が異なる理由を誰かが知っていますか?今
http://stackoverflow.com/help/mcve – ceving
は[MCVE]を表示し、それ以外の質問はすぐに閉じ/ downvotedされます。 –
私は質問を編集しました。 – nocturne