我正在寫一個程序來讀取stdin並輸出它。程序輸出奇怪的字符,即使當字符串是零終止
int main() {
FILE* inputF = stdin;
char* inputStr[10];
fread(inputStr, 1, 9, inputF);
if(ferror(inputF)) {
printf("An error occurred");
return 0;
}
inputStr[9] = '\0';
printf("%s", (const char*)inputStr);
return 0;
}
應該創建10個字符長的字符串,讀9個字節的標準輸入進去,然後在9位
把'\0'
當我運行該程序,這是結果:
[email protected]:~/work/c/fibo$ ./a.out < test.txt
56 `ô
ga
打印兩行和多餘字符(滾動到右側以查看它們)。
什麼可能導致這種情況?
應該怎麼做,當我創建數組? – 2011-12-29 22:47:35
@GabrieleCirulli對不起,誤讀。 (失敗) – 2011-12-29 22:48:53