[問題] 請教一個存取陣列的問題
又來麻煩各位前輩
我在練習從檔案中讀資料存進陣列時遇到一些問題
我的資料是這樣的:aaa,bbb
ccc,ddd,eee
最多3組最少2組
開啟檔案後
fgets(line, sizeof(line), fp); //從第一行讀總行數
iarr1 = atoi(line) - 2; //設定陣列大小,iarr2固定是2
char *arrop[iarr1][iarr2];
for(i = 0; i <= iarr1; i++){
int j = 0;
fgets(msg, 256, fp);
char *ptr = msg; int len = strlen(ptr);
if(ptr[len-1]=='\n') ptr[len-1]='\0'; //去除行尾的的換行符號
arrop[i][j] = strtok(msg,",");
while (j <= iarr2 && arrop[i][j] != NULL){
我如果在這裡printf("%s\n",arrop[i][j]);
得到的結果都是正確的,這不就代表內容確實被寫入陣列了嗎?
j++;
arrop[i][j] = strtok(NULL,",");
}
}
但是我在這裡再printf("%s %s %s\n",arrop[0][0],arrop[0][1],arrop[0][2]);
會發現內容是最後一行的資料的內容
我寫了個迴圈來看,發現陣列裡面所有值的內容都變成檔案最後一行的內容
試了好久還是搞不清楚狀況>_<
請各位前輩教我!!謝謝(鞠躬)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.31.36.137
→
03/13 15:55, , 1F
03/13 15:55, 1F
→
03/14 01:09, , 2F
03/14 01:09, 2F
→
03/14 01:10, , 3F
03/14 01:10, 3F
→
03/14 01:10, , 4F
03/14 01:10, 4F
→
03/14 01:11, , 5F
03/14 01:11, 5F
→
03/17 16:52, , 6F
03/17 16:52, 6F
討論串 (同標題文章)
完整討論串 (本文為第 1 之 2 篇):
0
6
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章