这个c文件处理代码有什么问题?

Shu*_*m D 1 c file-handling putchar getchar getc

我正在尝试从终端写入文件中的内容.文件正在创建,但内容未写入文件.

    #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;
    }
Run Code Online (Sandbox Code Playgroud)

gsa*_*ras 5

如果您没有发出EOF信号(Ctrl+Z在Windows和Ctrl+DLinux中),则循环将继续执行,直到收到该信号.

如果您在程序仍在执行时尝试用自己的眼睛阅读文件,那么文件流将不会关闭(fclose(fp);将不会执行),因此即使内容将显示,文件也会显示为空当文件流关闭时,给你.