TXT 讀取至 陣列 上的問題 |
缺席
|
kgwkevin2
一般會員 發表:3 回覆:0 積分:0 註冊:2005-11-18 發送簡訊給我 |
最後參考 http://delphi.ktop.com.tw/board.php?cid=168&fid=912&tid=65375 此篇中 blk5743 所提出的做法
[code cpp] FILE *fp; float array[64][240]; ZeroMemory(array,sizeof(array)); fp = fopen("1.txt","r"); for ( int i = 0; i < 64; i ) { for ( int j = 0; j < 240; j ) { fscanf(fp, "%f", &array[i][j]); } } [/code] 同時也感謝 ikk 與 daldal 兩位先生的回應! 各位好, 小弟目前的問題為 目前 TXT 的存放格式為 M*N 的矩陣, 資料間格三個空格, 100 200 300 ... 900 100 200 300 ... 900 100 200 300 ... 900 100 200 300 ... 900 請問該如何分別將數值存入 m*n 的陣列之中呢? 翻過很多論壇上的文章, 但一直無法分解存入陣列之中, 是否能夠點明寫法呢? 其中一種有使用到 AnsiString sz2=StringReplace(sz1, " ", ",", TReplaceFlags()< TStringList *sl=new TStringList; 是否能解釋一下這種的使用方法呢? 程式常常在這邊就出錯, 不知道該如何排除這個問題, 請各位不吝指教,謝謝。 |
ikk
尊榮會員 發表:4 回覆:413 積分:768 註冊:2003-06-30 發送簡訊給我 |
你那一行的code, 本來就有問題呀, 沒copy 完整.
它的用意應該是將每一行數字間的空白先用',' 逗點更換, 再將此一行的字串放進sz2, 再產生一個AnsiString sz2=StringReplace(sz1, " ", ",", TReplaceFlags()< TStringList *sl=new TStringList; 是否能解釋一下這種的使用方法呢? 程式常常在這邊就出錯, 不知道該如何排除這個問題, 請各位不吝指教,謝謝。
------
FPGA驗證, FPGA開發平台, http://smims.com |
daldal
高階會員 發表:6 回覆:102 積分:226 註冊:2007-06-18 發送簡訊給我 |
直接使用StringList的CommaText功能即可,中間的分段符號還可以自訂
舉例來說 [code cpp] TStringList *vcl = new TStringList(); //建立一個拆解字串用的List AnsiString p="100 22321 23123 2312 231"; //這裡的p代表你的Txt的其中一行 vcl->CommaText = p; //把p字串拆解到vcl的StringList ...... 把 vcl->Strings[0] 這裡是100 vcl->Strings[1] 這裡是22321 vcl->Strings[2] 這裡是23123 vcl->Strings[3] 這裡是2312 vcl->Strings[4] 這裡是231 存到你的陣列中 ...... 文件中的每行用for迴圈即可完成 最後別忘記要delete vcl; [/code] StringList拆解字串預設是偵測空白、逗號 若是你要用其他符號來當作資料分隔的話 設定以下即可 [code cpp] vcl->Delimiter='你自訂的分隔字'; PS:分隔字只能是char單字元 [/code] |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |