0
我有一段超過300行的程序,除了導致seg故障的fclose外,其他程序都運行了100%......現在,我甚至無法讓我的程序運行。 gdb給了我這個錯誤,我真的不知道如何解釋C程序中的Seg錯誤錯誤
____strtol_l_internal (nptr=0x0, endptr=0x0, base=10,
group=<value optimized out>, loc=0x349c78d580) at ../stdlib/strtol_l.c:298
298 while (ISSPACE (*s))
誰能告訴我這是什麼意思?
readLinesFromFile(FILE* fPtr, int* num1, int* num2, char** strs, int lines)
{
int i;
char data[50];
for (i = 0; i < lines; i++){
fgets(data, 50, fPtr);
strcpy (*(strs + i), strtok(data, " "));
*(num1 + i) = atoi(strtok(NULL, " "));
*(num2 + i) = atoi(strtok(NULL, " "));
}
你運行Linux?如果是這種情況,請在valgrind下運行您的程序。 – fons 2013-02-18 10:17:54
您是否在編譯時啓用了優化?用'-O0'編譯你可能會得到更多的信息。 – slugonamission 2013-02-18 10:18:27
看起來你傳遞了一個NULL指針作爲strtol的第一個參數。 – Michael 2013-02-18 10:18:37