我正在尝试从终端向文件写入内容。正在创建文件,但内容尚未写入文件。
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int main(int argc, char *argv[])
{
FILE *fp;
fp=fopen(argv[1],"w");
char ch;
while((ch=getchar())!=EOF)
{
putc(ch,fp);
}
fclose(fp);
return 0;
}
最佳答案
如果您不发出 EOF 信号(Windows 中为 Ctrl+Z,Linux 中为 Ctrl+D),则循环将继续执行直到收到该信号.
如果你试图在程序还在执行时用自己的眼睛读取文件,那么文件流将不会关闭(fclose(fp);
不会执行),因此当文件流关闭时,即使向您显示内容,文件对您来说仍是空的。
关于c - c中的文件处理代码有什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46297175/