gpt4 book ai didi

c - 文件 I/O fopen() 返回 NULL

转载 作者:行者123 更新时间:2023-11-30 20:14:47 25 4
gpt4 key购买 nike

我编写了以下代码:

void WriteToFile(const char** strings, const char* path, int n)
{
FILE* fp = fopen(path, "w");
int i;
if(fp)
{
for(i = 0 ; i < n ; i++)
{
puts(strings[i]);
fprintf(fp, "%s\n", strings[i]);
}
}
else
{
printf("Error at writing to file.\n");
exit(1);
}

fclose(fp);
}

我收到错误 - fp 指向 NULL - 意味着 fopen()没用,奇怪,我也打印了路径,但它没有 \n或者其中有一些奇怪的东西,但它可以在我的计算机中使用。

最佳答案

如果您不知道为什么 fopen 失败,请让计算机告诉您:

fp = fopen(path, "w");
if( fp == NULL ) {
perror( path );
exit(1); /* Or handle error some other way */
}

错误消息属于 stderr,而不是 stdout。切勿使用 printf 写入错误消息(请使用 fprintf( stderr, ... 代替)。 perror 不仅将错误消息打印到正确的地方,它还告诉你问题是什么。

关于c - 文件 I/O fopen() 返回 NULL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24440603/

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