有關TXT檔轉檔問題 |
答題得分者是:RedSnow
|
paulcaptain
一般會員 發表:13 回覆:9 積分:4 註冊:2004-11-17 發送簡訊給我 |
|
limeca
中階會員 發表:2 回覆:74 積分:60 註冊:2005-05-11 發送簡訊給我 |
|
RedSnow
版主 發表:79 回覆:1322 積分:845 註冊:2003-12-15 發送簡訊給我 |
paulcaptain 您好: 請參考下列範例,以瞭解如何透過 TStringList 來拆解文字資料、抓取數字資料:
AnsiString sz = "12 58 66 23 69 100 200 199 54"; unsigned char tmp; TStringList *sl = new TStringList; // 將欲拆解字串設給 TStringList 的 CommaText, // 可將 "以空白字元分隔" 的字串拆解成多個文字陣列 sl->CommaText = sz; FILE *file = fopen("test.bin", "wb"); // 建立檔案 for (int i=0; i以上敘述未做最佳化處哩,請自己加強,另外如果您想要先一次轉換好數字資料後,再寫入檔案,那就先設一個 char 陣列來存放轉換後的數字,等所有數字均取得並轉換好之後,再一次性寫到檔案裡亦可。 7 天天敲鍵盤 v 時時按滑鼠 8 發表人 - RedSnow 於 2005/06/16 09:54:45 |
RedSnow
版主 發表:79 回覆:1322 積分:845 註冊:2003-12-15 發送簡訊給我 |
另外給您一個配合檔案讀取動作的範例:
if (OpenDialog1->Execute()) { // 如果透過 OpenDialog 選取了欲讀取的檔案 // 設定欲讀取的檔案名稱 AnsiString inFile = OpenDialog1->FileName; // 設定欲寫入的檔案名稱 AnsiString outFile = "test.bin"; // 存放讀入的資料行 TStringList *slRow = new TStringList; // 存放拆解資料行後的各個數字字串 TStringList *slCol = new TStringList; // 存放數字字串轉換後的數字 unsigned char tmp; slRow->LoadFromFile(inFile); // 將檔案內容載至 slRow FILE *file = fopen(outFile.c_str(), "wb"); // 建立檔案 for (int row=0; row如果處理檔案不需要用到 OpenDialog,那您可以將上述的第一個判斷刪除掉,然後設定 inFile 與 outFile 的值即可。 7 天天敲鍵盤 v 時時按滑鼠 8 |
deity
尊榮會員 發表:90 回覆:876 積分:678 註冊:2003-05-09 發送簡訊給我 |
引言: 我現在有一個.TXT檔,裡面有一串數字,每個數字之間有一個空白做間隔隔開 EX:12 58 66 23 69 100 200 199 54 我想把這些數字抓出來 最後存成一個RAW檔(每個數字用BYTE存) 請問我該怎麼做?... 如果知道,可以解答一下嗎?謝謝看完...插个花,各位 class="code"> procedure TForm1.Button1Click(Sender: TObject); var sl: TStringList; YourString, YourDelimiter: string; i: Integer; begin YourString := '12 58 66 23 69 100 200 199 54'; YourDelimiter := ' '; sl := TStringList.Create; try sl.Text := StringReplace(YourString, YourDelimiter, #13#10, [rfReplaceAll]); for i := 0 to sl.Count - 1 do ShowMessage(sl.Strings[i]); //这里就是得出您上面的单个数字 finally sl.Free; end; end; 方法二: procedure TForm1.Button2Click(Sender: TObject); var ss,token:string; z:integer; begin ss:='12 58 66 23 69 100 200 199 54'; for z:=1 to 9 do showmessage(fetch(ss,' ',true)); end; 试试看< >希望能对您有所帮助< > ============================ 为什么经过多年以后,得失的过程如此冷漠 ============================ |
paulcaptain
一般會員 發表:13 回覆:9 積分:4 註冊:2004-11-17 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |