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 的文件变量了。
不知道你这个问题是否已经解决, 如果还没有解决的话: