c - 需要在 C 中的源文件之间共享文件指针的方法

标签 c file pointers header argv

我在代码中创建了一个 this 文件指针,其中应包含我的 log.txt 文件的地址:

文件*日志

这个地址取决于我的 main.c 函数中的 argv[1],它可能是这样的:

char address[200];
strcpy(address, argv[1]);
FILE *log;
log = fopen(address, "w");

我需要 *log 指向的地址在我的所有 .c 源文件中可见,因为它们将包含如下几行:

fprintf(log, "Comment to be printed on log.txt");

我知道这是制作日志文件的不好方法,但是我的程序足够大,因此更改所有日志打印行将花费相当长的时间。

必须使用 argv[1] 定义文件的地址。在我的函数可以使用它之前如何定义它(以及如何让它们识别它)?

最佳答案

log定义为全局变量,并在其他使用它的地方通过extern FILE *log;将其声明为外部符号。

关于c - 需要在 C 中的源文件之间共享文件指针的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21769418/

相关文章:

java - 使用 JFIleChooser 在 Java 中创建 Open 函数

c - 这个简单的指针程序输出的解释是什么

c++ - 暴露复杂的短暂对象的正确方法

c - 如何在不指定 -O1 的情况下获得 gcc -O1 优化

c - 为什么将数组元素传递给 crypt() 时出现此错误

c - 从 C 结构体数组中删除一个元素?

c++ - 从 C++ 中的另一个类更改数组值

C : How do you simulate an 'instance' ?

c - 在不知道文件大小且数据类型顺序不一致的情况下如何从文件中读取数据

ruby-on-rails - 在 Rails 3 上设置文件下载权限的最佳方法