我在将值放入结构数组时遇到麻烦。使用单个结构,它可以正常工作,但是,一旦我将它们排列成阵列,就会收到“分段错误(内核已转储)”错误。我已经通过调试器运行了这段代码,它说段错误是在readFile
的fseek(fp,0L,SEEK_END)
引起的。如果我删除了与任何类型的内存分配有关的变量,则错误只会移至该行中的下一个变量。
我很确定这与我试图将值放入结构数组的方式有关。
我用来将所需值放入struct数组的方法。
我意识到这段代码确实很粗糙,我只是想在清理之前获得一个可行的模型。
最佳答案
如果错误在fseek(fp,0L,SEEK_END);
中,则您可能尚未打开文件,或者在打开文件时发生了错误。
您是否检查了来自fp=fopen(...);
的回报不是NULL
?
您尚未发布最小可验证完整示例(MVCE),因此很难提供太多帮助。
https://stackoverflow.com/help/mcve