c语言文件既要输入又要输出怎么办

我在编写c语言程序文件既要“r”被度又要被“w”写那该如何写代码?

看看 我的这篇 关于 fopen函数:

img

可以先读取到内存里,关闭文件再打开再写入
也可以open 的时候传 rw 同时支持读写(但是要注意别写乱了)

给个a+的权限,可读可写

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 关于该问题,我找了一篇非常好的博客,你可以看看是否有帮助,链接:通讯录(动态与静态,文件操作版)实现 w字 C语言进阶
  • 以下回答由chatgpt基于相关博客总结生成:

    如何在C语言文件中实现同时读入和写出操作?

    问题描述:需要在C语言程序中同时进行读取操作和写入操作,但不知道如何实现。

    解决方案:

    1. 打开文件:使用fopen函数来打开文件,并获取文件指针。
    FILE *file;
    file = fopen("filename.txt", "r+");
    
    1. 检查文件打开是否成功:检查文件指针是否为NULL,如果为NULL则表示文件打开失败。
    if (file == NULL) {
        printf("文件打开失败\n");
        return;
    }
    
    1. 进行读取操作:使用fscanf或者fgets函数来读取文件中的内容,根据需要选择使用哪个函数。
    char buffer[100];
    // 使用fscanf函数
    fscanf(file, "%s", buffer);
    // 或者使用fgets函数
    fgets(buffer, 100, file);
    
    1. 进行写入操作:使用fprintf或者fputs函数来向文件中写入内容,根据需要选择使用哪个函数。
    // 使用fprintf函数
    fprintf(file, "写入的内容");
    // 或者使用fputs函数
    fputs("写入的内容", file);
    
    1. 关闭文件:使用fclose函数来关闭文件。
    fclose(file);
    

    以上就是在C语言文件中实现同时读取和写入操作的步骤。请注意,在进行读取操作后,文件指针会指向读取的位置,如果直接进行写入操作可能会覆盖掉原有内容。如果需要在指定位置进行写入操作,可以使用fseek函数来进行定位。

    fseek(file, 0, SEEK_END); // 将文件指针移到文件末尾
    

    希望以上解决方案能对你有帮助,如果还有其他问题,请随时提问。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^

用 "a+" 即可。

同时写这两条语句应该不会报错吧

可以同时读写吧