作者kimgtob (K.L)
看板C_and_CPP
標題[問題] 用C讀檔進去陣列
時間Wed Nov 11 10:44:16 2009
小弟我是用C來做一個讀txt的檔案
檔案的長相像這樣
1 -2 0
0 3 0
0 -5 4
int**image;
image=(int**)calloc(size,sizeof(int *));
for(i=0;i<size;i++)
image[i]=(int*)calloc(size,sizeof(int));
printf("請輸入檔案名稱:\n");
scanf("%s",name);
FILE *fp;
fp=fopen(name,"r");
fread(image,sizeof(int),size*size,fp);
想把它做成 A[][]陣列 ,想拿來做運算的關係@_@
a[0][0]=1 a[0][1]=-2 ....
可是在printf("%d\t",image[0][0]);時就會出問題了
問同學,同學說會有換行問題 > <" 可是我不清楚問題出在哪裡
有請各位高手解惑,謝謝 m(_ _)m
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.116.191.88
1F:推 VictorTom:請參考小弟拙作 - #1AFvltqI ; 你的二維陣列用這種方式 11/11 11:14
2F:→ VictorTom:要回來, 沒有辦法保證它一定是連續的, 所以你只能跑迴圈 11/11 11:14
3F:→ VictorTom:一次讀一維回來. 另外, 你的.txt檔看起來是ASCII文字的 11/11 11:15
4F:→ VictorTom:資料, 你用fread()讀回來, 資料大小跟內容都不會match. 11/11 11:16
5F:→ VictorTom:先搞清楚用二進位模式與文字模式讀資料的差異看看吧:) 11/11 11:17