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

时间:2014-02-14 01:55:39

标签: c file pointers header argv

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

FILE *log

这个地址取决于我的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]定义文件的地址。如何在我的函数可以使用它之前定义它(我如何让它们识别它)?

1 个答案:

答案 0 :(得分:1)

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