void frameInfoData(int i,int j,int k)
{
FILE *frameData;
frameData=fopen("frame_Data.txt","a");
fprintf(frameData,"Packet number is %d Packet L %d Packet Header L %d ",i,j,k);
fprintf(frameData,"\n");
}
上面是我写文件的代码。我的数据大约是3170行。当我运行该程序时,它给我一个分段错误并转储了内核。但是,当我控制写入并写入3169行时,它将非常容易且正确地进行写入。
我是C编程的新手,请在这种情况下帮助我。
提前致谢
最佳答案
加:
#include <errno.h>
#include <stdio.h>
//other code here
if (frameData == NULL) {
perror("fopen()");
return;
}
这应该可以开始调试...
返回前请不要忘记
fclose(frameData)
,这也可能在第二次调用该函数时导致错误(文件已打开)。关于c - 写入文件时C中的段错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24630296/