如果我得到了以下文件從文件中讀取特定字段用C
1 station1 1
2 station2 2
3 station3 3
4 station4 4
5 station5 5
6 station6 6
7 station7 7
8 station8 8
9 station9 9
10 station10 10
,我想讀的第一和最後一行的數據。我試過這個:
for (i=0; i<n; i++) {
ret = fork();
if (ret == 0) {
fscanf(fstation,"%d %s %d",id, station, num);
printf("Identifier is %d %s %d \n",id,station,num);
exit(0);
}else{wait(&st);}
}
而輸出是這樣的。
Identifier is 0 0
Identifier is 0 0
Identifier is 0 0
Identifier is 0 0
Identifier is 0 0
Identifier is 0 0
Identifier is 0 0
Identifier is 0 0
Identifier is 0 0
Identifier is 0 0
它沒有效果很好,我做錯了什麼? 編輯:抱歉的誤解,我試圖翻譯部分代碼,使其更容易理解。
的fscanf應給予指針ID,車站和num(即&ID&ststion, &NUM)。順便說一句,你爲什麼要分叉? – Harald
與指針相同的結果,我使用fork,因爲我爲每一行使用子進程。 – MarcoGarzini
你能告訴我們新的代碼嗎?順便說一句,輸出與printf不匹配。 – Harald