gpt4 book ai didi

c - fclose(in) 段错误

转载 作者:太空宇宙 更新时间:2023-11-04 02:09:51 29 4
gpt4 key购买 nike

我已经通过评论缩减了程序,缩减为:

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
FILE * in;
in = fopen(argv[1], "r");
fclose(in);
fprintf(stderr, "clear **** \n");
return(0);
}

但它仍然是段错误。输出是:

clear
Segmentation Fault

我知道是 fclose(in) 导致了这个问题,我只是不知道为什么。无论出于何种原因,fclose(out) 都可以正常工作。

最佳答案

你应该做的第一件事是:

in = fopen(argv[1], "r");
if (in == NULL)
printf ("Could not open file '%s'\n" argv[1]);
else
fclose(in);

在您的原始代码中不能保证 fopen 确实有效,在这种情况下它将返回 NULL 并且 fclose 不会被定义为行为。

关于c - fclose(in) 段错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15726223/

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