0
獲取strtok分段錯誤,我有我的輸入字符串lyne
定義爲字符數組而不是指針,但似乎沒有工作。這是在C語言和Linuxstrtok獲取分段錯誤讀取文件
typedef struct
{
int x;
char *y;
} child;
typedef struct{
child *details;
} parent;
fp = fopen(filename,"r"); // read mode
char lyne[25];
char *item;
fgets(lyne,25,fp);
parent record;
record.details= malloc (5 * sizeof(child));
while (fgets(lyne,25,fp)) {
printf("test %s \n",lyne);
item = strtok(lyne," ");
strcpy(record.details->y,item);//seg error on this line
}
fclose(fp);
my file looks like this
file#1
ABC 100
BCE 200
OUTPUT:
test ABC 100
Segmentation fault
@jxh:你認爲'printf'調用是幹什麼的,如果不產生輸出? –
[Works for me](http://ideone.com/COSpAv)。這個問題必須在其他地方,在你沒有顯示的代碼中。 –
@jxh:這正是OP顯示的內容。 「文件#1」行被跳過;輸出從第二行開始。 –