【发布时间】:2013-04-06 23:19:40
【问题描述】:
这是我的代码示例:
int main(int argc, char* argv[])
{
char* fileName = "%appdata%\\log.log";
FILE *file;
file = fopen(fileName, "a+");
time_t startTime = time(0);
fputs("Started logging at: ", file);
fputs(ctime(&startTime), file);
fclose(file);
printf("%s", fileName);
return 0;
}
我的程序进入printf() 语句,并打印:
%appdata%\log.log
我知道这是 Windows 计算机的可行位置,那么为什么程序无法生成 .log 文件?我应该使用什么解决方法来使其正常工作?
【问题讨论】:
-
您应该调用 CSIDL 或已知文件夹 API 函数之一。不要依赖环境变量。