讀檔txt |
答題得分者是:jow
|
egghead253
一般會員 發表:25 回覆:13 積分:7 註冊:2009-05-01 發送簡訊給我 |
0.717 2.308 2.098 2.490 2.915 2.573 2.946 2.607 2.153 2.304 3.184 2.527 1.208 1.627 2.022 -1.086 1.347 1.562 -1.494 -0.795 -3.447 0.103 -2.151 -0.630 -0.766 0.655 -0.430 -4.030 0.358 0.771 -0.121 -0.617 -0.040 -1.731 -3.344 -2.266 0.875 -2.617 -1.515 -3.620 -2.689 -0.843 -2.334 -3.630 -1.642 -1.262 -0.976 -1.222 -1.549 0.393 1.406 0.372 -2.054 -0.253 -3.393 -2.930 -1.341 0.495 0.042 -1.343 -0.295 0.700 -1.819 -2.433 -1.171 0.109 0.522 0.695 0.904 -0.109 1.170 1.156 -2.316 -2.341 -3.261 -2.509 -3.086 -3.223
-2.001 1.089 2.019 2.192 1.974 1.224 1.536 1.155 1.615 2.594 2.518 0.461 1.805 0.799 1.626 2.521 1.399 3.175 1.073 1.738 1.483 1.074 0.540 -0.308 0.318 -2.922 -5.624 -4.000 -2.192 -3.975 -2.690 1.925 -2.591 0.252 -2.530 -2.279 -2.855 -3.207 -5.030 -2.631 -3.412 -2.404 -3.189 -2.541 -1.430 -2.708 -2.529 -2.668 -1.960 0.260 -1.326 -1.210 -2.258 0.404 -2.114 -2.486 1.598 3.329 -2.186 -2.038 -3.152 -3.496 -2.060 -1.118 -0.491 -4.784 -2.720 1.131 -1.711 -3.469 -1.004 -1.028 2.548 1.902 2.595 -2.777 2.143 2.444 5.057 5.537 5.804 5.444 6.992 5.320 6.475 6.053 6.033 7.554 7.692 5.614 6.615 5.608 5.680 7.621 5.265 8.465 -0.594 -0.352 2.551 2.622 -1.192 0.034 -0.653 0.342 -0.258 -2.866 -0.852 -3.426 -0.147 -0.400 -0.820 -2.904 -0.076 -2.175 -1.759 -0.446 -2.350 -0.641 0.119 0.035 0.266 0.522 0.710 -0.369 -1.260 -1.361 -1.571 2.890 -0.244 -0.833 -0.935 -1.024 -0.030 -0.565 -1.243 -0.541 2.073 -1.367 -0.851 -0.721 -0.132 -0.540 0.811 0.714 0.736 3.213 -0.183 -0.655 1.218 -0.359 0.034 -0.359 -1.151 -2.248 -1.459 -1.258 我如何讀檔把第一個數字抓到變數裡,用完在取第二個數值,取完以後換下一行! |
st33chen
尊榮會員 發表:15 回覆:591 積分:1201 註冊:2005-09-30 發送簡訊給我 |
您好,
我認為方法有三 : 1. 用 空格 及 #13#10 或 #13 去切字串, 用 有 loadfromfile 的 tmemo, 或 tstringlist ... 等等的元件 去切比較好寫 2. 讀入整個檔成一字串, 然後用 pos, copy 函數以 #13 切出每一段成小字串 對每個小字串用 pos, copy 函數以 空格 切出每一數值字串 3. 一個 byte 一個 byte 讀入, 判斷讀到的字元是否為 空格 或 #13, 否: 將讀到的字元加至暫存字串 是: 暫存字串就是您所要的一個數值字串, 處理後清空暫存字串
------
IS IT WHAT IT IS 我是 李慕白 請倒著唸. 又想把老話拿出來說, 請用台語發音 : 專家專家全是ROBOT CAR (滷肉腳啦); 都已接手這麼久了, 績效還是那麼爛, 講話還那麼大聲. |
egghead253
一般會員 發表:25 回覆:13 積分:7 註冊:2009-05-01 發送簡訊給我 |
===================引 用 st33chen 文 章=================== 您好, 我認為方法有三 : 1. 用 空格 及 #13#10 或 #13去切字串, 請問一下什麼是#13#10? 用 有 loadfromfile 的 tmemo, 或 tstringlist... 等等的元件 去切比較好寫 2. 讀入整個檔成一字串, 然後用 pos, copy函數以 #13切出每一段成小字串 對每個小字串用 pos, copy函數以 空格切出每一數值字串 3. 一個 byte 一個 byte 讀入, 判斷讀到的字元是否為 空格 或 #13, 否: 將讀到的字元加至暫存字串 是:暫存字串就是您所要的一個數值字串, 處理後清空暫存字串 有看沒有懂,請問有範例可以讓我參考嗎? |
jow
尊榮會員 發表:66 回覆:751 積分:1253 註冊:2002-03-13 發送簡訊給我 |
謹供參考...
===================引 用 st33chen 文 章=================== 您好, 我認為方法有三 : 1. 用 空格 及 #13#10 或 #13去切字串, 用 有 loadfromfile 的 tmemo, 或 tstringlist... 等等的元件 去切比較好寫 [code cpp] void __fastcall TForm1::Button1Click(TObject *Sender) { AnsiString fn = "C:\\TEST.TXT"; TStringList *L0,*L1; if(FileExists(fn)){ L0 = new TStringList(); try{ L0->LoadFromFile(fn); L1 = new TStringList(); try{ L1->Delimiter = 0xD; L1->DelimitedText = L0->Text; L1->SaveToFile("C:\\RESULT.TXT"); ShowMessage(L1->Count); ShowMessage(L1->Text); } __finally{ delete L1; } } __finally{ delete L0; } } } [/code] 2. 讀入整個檔成一字串, 然後用 pos, copy函數以 #13切出每一段成小字串 對每個小字串用 pos, copy函數以 空格切出每一數值字串 [code cpp] void __fastcall TForm1::Button2Click(TObject *Sender) { AnsiString fn = "C:\\TEST.TXT"; TStringList *L; AnsiString S; if(FileExists(fn)){ L = new TStringList(); try{ L->LoadFromFile(fn); S = L->Text; } __finally{ delete L; } int p; L = new TStringList(); try{ while((p=S.Pos((char)(0x20)))>0){ L->Add(S.SubString(1,p)); S = S.SubString(p 1,S.Length()-p); } if(S.Trim()!="")L->Add(S); L->SaveToFile("C:\\RESULT.TXT"); ShowMessage(L->Count); ShowMessage(L->Text); } __finally{ delete L; } } } [/code] 3. 一個 byte 一個 byte 讀入, 判斷讀到的字元是否為 空格 或 #13, 否: 將讀到的字元加至暫存字串 是:暫存字串就是您所要的一個數值字串, 處理後清空暫存字串 [code cpp] void __fastcall TForm1::Button3Click(TObject *Sender) { AnsiString fn = "C:\\TEST.TXT"; TFileStream *F; TStringList *L; if(FileExists(fn)){ L = new TStringList(); try{ F = new TFileStream(fn,fmOpenRead); try{ char c; AnsiString S = ""; while(F->Position if(F->Read(&c,1)==sizeof(c)){ if(c>char(0x20))S=S c; else{ if(S!="")L->Add(S); S=""; } } } } __finally{ delete F; } L->SaveToFile("C:\\RESULT.TXT"); ShowMessage(L->Count); ShowMessage(L->Text); } __finally{ delete L; } } } [/code]
編輯記錄
jow 重新編輯於 2009-12-15 11:51:31, 註解 無‧
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |