我正在編寫一個C程序,但沒有看到fputc
或fputs
調用的結果。我需要幫助理解爲什麼會發生這種情況。爲什麼fputc和fputs輸出不能立即顯示?
#include <stdio.h>
int main(void)
{
FILE *stream;
int file_state;
int input1=0;
stream = fopen("data3.txt", "w");
if (stream == NULL)
puts("file open error");
puts("input data");
while (input1 != EOF)
{
input1=fgetc(stdin);
putchar(input1);
//fputc(input1, stdout);
//fprintf(stream, "tee");
//fputc('A', stream);
//fputs("sass", stream);
}
file_state=fclose(stream);
if(file_state==EOF)
puts("file close error");
return 0;
}
問題是,fputc
和fputs
不能正常工作。 我在mac獅子64位,並在終端上使用make
和./file_name
。
在while循環中,如果我寫
putchar(input1);
它輸出(打印)到終端。 但是,所有註釋行都不起作用。
fputc(input1, stdout);
還在終端上打印空行。
該程序創建一個文件,但似乎是完全空的。可能是什麼問題呢?
您應該檢查輸出函數的返回值 – user411313