小编les*_*inz的帖子

txt解析C中的分段错误

嗨,我正在尝试解析每行2个双打的txt文件.在第一行有一个整数,它是txt文件的总行数.我有一个Nx2矩阵的双倍COORD [NPOIN] [2]我希望将每个txt行的第一个双重放入COORD [IPOIN] [0],第二个放入COORD [IPOIN] [1].下面代码的一部分应该启发你:D

COORD = (double**)malloc(NPOIN*sizeof(double*)); 

for(int i=0; i<NPOIN; i++)
{
  COORD[i] = (double*)malloc(NDIME*sizeof(double));
}

fin = fopen("coord", "r");
fgets(line, 256, fin);
NPOIN = atoi(line);
char *token;

for(IPOIN=0; IPOIN<NPOIN; IPOIN++)
{
   fgets(line, 256, fin);
   token = strtok(line," \t" );
   COORD[IPOIN][0] = atof(token); //line 891          
   token = strtok(NULL, " \t");
   COORD[IPOIN][1] = atof(token);

}
Run Code Online (Sandbox Code Playgroud)

我编译代码,一切都好.但是当我运行它时,gdb在第891行显示分段错误.任何人都可以给出一些建议吗?我被卡住了!

c gdb

1
推荐指数
1
解决办法
84
查看次数

标签 统计

c ×1

gdb ×1