[問題] 在讀取檔案時如何動態存取

看板C_and_CPP (C/C++)作者 (新人偉)時間16年前 (2009/09/18 18:19), 編輯推噓4(407)
留言11則, 5人參與, 最新討論串1/1
printf("請輸入檔名:"); scanf("%s", filename); //輸入檔名 FILE *fin = fopen(filename,"r"); //開啟檔案 if(fin==NULL) //判斷是否有這個檔 { printf("找不到這個檔\n"); return 0; } i=0; j=0; while(!feof(fin)) //讀到沒資料 換行 { fscanf(fin, "%c", &sequence[i][j]); if (sequence[i][j] == '\n') { i++; j=0; } else { j++; } } 我這邊的sequence[i][j]上面有宣告大小,可是我讀取的資料大小不一定,這樣我要如何 動態宣告一個二維陣列來存資料? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.138.150.144

09/18 18:21, , 1F
malloc
09/18 18:21, 1F

09/18 18:32, , 2F
malloc(嘛落ㄎ)calloc(卡落ㄎ)請記得用完加free
09/18 18:32, 2F

09/18 18:34, , 3F
用class包字元陣列,再new以及delete物件也可以。
09/18 18:34, 3F

09/18 18:54, , 4F
vector
09/18 18:54, 4F

09/18 20:57, , 5F
vector也許比較適合, 除非再怎麼動態你也可以先parser
09/18 20:57, 5F

09/18 20:57, , 6F
檔案得知有幾筆; 再不然就是用linked-list自幹....XD
09/18 20:57, 6F

09/19 04:25, , 7F
DWORD WINAPI GetFileSize(HANDLE , LPDWORD);
09/19 04:25, 7F

09/19 04:26, , 8F
我會用FileSize先配置一維大小後再下去砍
09/19 04:26, 8F

09/19 12:50, , 9F
只要FileSize不見得能得到一維需要配多少大小, 必須視資
09/19 12:50, 9F

09/19 12:50, , 10F
料檔的特性來覺得; 當然, 如果一維大小就開FileSize那麼
09/19 12:50, 10F

09/19 12:50, , 11F
大就另當別論了XD
09/19 12:50, 11F
文章代碼(AID): #1Airwh7j (C_and_CPP)
文章代碼(AID): #1Airwh7j (C_and_CPP)