我在我的代码中创建了一个应该包含我的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]定义文件的地址。如何在我的函数可以使用它之前定义它(我如何让它们识别它)?
答案 0 :(得分:1)
将log
定义为全局变量,并在您使用它的其他地方通过extern FILE *log;
将其声明为外部符号。