gpt4 book ai didi

c - fclose 导致段错误?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:25:04 24 4
gpt4 key购买 nike

下面是 fclose 导致错误的源代码的一小部分?此函数并不总是被调用,在某些特定情况下会调用此函数。

int write_into_file (char * file_name)
{
FILE * fp = NULL ;

if (file_name == NULL)
{
return FAIL ;
}

if ((fp = fopen (file_name , "r")) == NULL)
{
if ((fp = fopen (file_name, "w")) == NULL)
{
return FAIL ;
}
}
fclose (fp) ;
fp = NULL ;

return SUCESS;

}

我们将大小为 1024 的字符缓冲区传递给 file_name。谁能告诉我为什么 fclose 会导致段错误?

最佳答案

我看不出 fclose 可能会在这里导致段错误,我认为您的问题出在程序的其他地方。

堆栈可能在其他地方被破坏,并且当 fclose 被调用时错误显示。我建议您再次检查您的其他源代码,并使用调试器/内存分析器单步执行它,密切观察发生的情况。

我能看到的唯一可能导致错误的是 file_name 不是空终止的。

关于c - fclose 导致段错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8717225/

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