gpt4 book ai didi

不能在输出流上使用 fclose,输入流没问题

转载 作者:太空宇宙 更新时间:2023-11-04 04:58:06 24 4
gpt4 key购买 nike

每当我在最后使用 fclose(outputFile); 运行我的程序时,我都会收到错误消息。 glibc 检测到...损坏的双链表

不过,令人困惑的是,我在它的正上方有 fclose(inputFile); 并且它工作正常。有什么建议吗?

FILE* inputFile = fopen(fileName, "r");
if (inputFile == NULL)
{
printf("inputFile did not open correctly.\n");
exit(0);
}
FILE* outputFile = fopen("output.txt", "wb");
if (outputFile == NULL)
{
printf("outputFile did not open correctly.\n");
exit(0);
}

/* ... read in inputFile ... */
/* ... some fprintf's to outputFile ... */

fclose(inputFile);
fclose(outputFile);

最佳答案

问题可能出在这个部分:

 /* ... read in inputFile ... */

你有一些破坏堆的代码。数组溢出是典型的原因。堆损坏很少在损坏发生时检测到。只有稍后,当某些代码分配或释放内存时, 内置了一些基本的堆健康验证。就像 fclose() 一样。

关于不能在输出流上使用 fclose,输入流没问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2797227/

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