我在将值放入结构数组时遇到麻烦。使用单个结构,它可以正常工作,但是,一旦我将它们排列成阵列,就会收到“分段错误(内核已转储)”错误。我已经通过调试器运行了这段代码,它说段错误是在readFilefseek(fp,0L,SEEK_END)引起的。如果我删除了与任何类型的内存分配有关的变量,则错误只会移至该行中的下一个变量。

我很确定这与我试图将值放入结构数组的方式有关。

我用来将所需值放入struct数组的方法。

我意识到这段代码确实很粗糙,我只是想在清理之前获得一个可行的模型。

最佳答案

如果错误在fseek(fp,0L,SEEK_END);中,则您可能尚未打开文件,或者在打开文件时发生了错误。

您是否检查了来自fp=fopen(...);的回报不是NULL

您尚未发布最小可验证完整示例(MVCE),因此很难提供太多帮助。

https://stackoverflow.com/help/mcve

07-24 09:46