C语言打开一个文件然后选择关闭文件,此时文件的变量如何和另一个文件的打开以后的变量交换呢

C语言的问题,C语言打开一个文件然后选择关闭文件,此时文件的变量如何和另一个文件的打开以后的变量交换呢

把liang个文件都打开,使用文件指针存储到变量里,用中间量交换值,交换完成释放文件指针,这样就行了

具体解释可以参考这篇文章:https://blog.csdn.net/weixin_43576565/article/details/131155472?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22131155472%22%2C%22source%22%3A%22weixin_43576565%22%7D
如果想让两个不同的C文件之间共享同一个文件变量,则需要使用外部变量。在C语言中,可以通过在声明变量时加上 extern 关键字来将变量定义为外部变量。这样,在另一个C文件中也声明同名的外部变量,就可以实现对同一个文件变量的读写。

具体地,假设你在第一个C文件中打开了一个文件并定义了一个名为 file_var 的文件变量,你可以按照以下方式将其定义为外部变量:


#include <stdio.h>

/* 定义外部变量 */
extern FILE* file_var;

int main() {
    /* 打开文件 */
    file_var = fopen("test.txt", "w");
    
    /* ... */
    
    /* 关闭文件 */
    fclose(file_var);
    
    return 0;
}

/* 定义外部变量 */
FILE* file_var;

在另一个C文件中,也需要在文件头部声明同名的外部变量,如下所示:

#include <stdio.h>

/* 声明外部变量 */
extern FILE* file_var;

int main() {
    /* 在这里使用file_var进行文件读写操作 */
    
    return 0;
}

这样,当第二个C文件编译链接后,就可以与第一个C文件共享同一个名为 file_var 的文件变量了。

不知道你这个问题是否已经解决, 如果还没有解决的话:

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