gpt4 book ai didi

c - 为什么我无法创建此文件?

转载 作者:太空宇宙 更新时间:2023-11-04 05:19:49 26 4
gpt4 key购买 nike

这是我的代码示例:

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 文件?我应该使用什么解决方法来使其工作?

最佳答案

fopen 调用不知道 %appdata% 是什么,因为它无法神奇地将其转换为路径。您必须使用 ExpandEnvironmentStrings 自行扩展路径功能。例如(未经测试):

char dest[MAX_PATH];
ExpandEnvironmentStrings(fileName, dest, MAX_PATH);
file = fopen(dest, "a+");

关于c - 为什么我无法创建此文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15857124/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com