我正在编写一个 C 程序,但没有看到fputc
orfputs
调用的结果。我需要帮助来理解为什么会这样。
#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 lion 64 位上,并在终端上使用make
and 。./file_name
在while循环中,如果我写
putchar(input1);
它输出(打印)到终端。但是,所有注释行都不起作用。
fputc(input1, stdout);
还会在终端上打印一个空行。
该程序创建一个文件,但似乎完全是空的。可能是什么问题呢?