c - c中的文件处理代码有什么问题?

标签 c file-handling getchar putchar 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;
    }

最佳答案

如果您不发出 EOF 信号(Windows 中为 Ctrl+Z,Linux 中为 Ctrl+D),则循环将继续执行直到收到该信号.

如果你试图在程序还在执行时用自己的眼睛读取文件,那么文件流将不会关闭(fclose(fp); 不会执行),因此当文件流关闭时,即使向您显示内容,文件对您来说仍是空的。

关于c - c中的文件处理代码有什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46297175/

相关文章:

c - GCC 和 VC++ 中的宏

C - 写入文件给我符号而不是数字

c - 我无法用 C 语言在文本文件中写入结构

C 编程 : getchar() won't accept '+' or '-' for input, 但会接受 '*' 和 '/' 吗?

c - 逐行填充数组(一维数组)

java - Java 和 C 中管道和序列化之间传输数据的区别?

c - 如何在 macOS 上找到 C 头文件 errno.h 的位置?

java - 创建 .ser 文件后可以编辑 .ser java 文件中使用的类吗?

java - RandomAccessFile:在最后一项后添加空格?

c++ - 如果我得到任何字符,则退出程序