如何判斷讀取 txt 檔到陣列的型態 |
尚未結案
|
w40192
一般會員 發表:1 回覆:2 積分:0 註冊:2005-05-20 發送簡訊給我 |
底下是我修改 c 語言書的程式:(使用有經過buffer的開檔方法)
把原本已給值的A[]={7,1,2,3,4}陣列,改成元素值是存在 data.txt 檔來讀入.
我先用 fread 來讀入txt檔裡頭的7 1 2 3 4,然後應該會一個字元一個字元丟
入 ch 的變數中,最後列印出A[ch]的元素!?
現在問題來了,在程式後半段的地方,我是自己判斷for迴圈對已讀入到陣列A[i]
中,是一個整數加一個空白,此時我的程式可以正常的印出陣列值和
比較出大小值.(我也對字元 - 48 讓後半斷的程式變成輸出會是整數)
1.若假設說我的7 1 2 3 4,並非是個位數,而是有參雜2位數或更多位數的話ex:
(1000 100 20 200 2),程式應該是會出現亂碼,我該怎麼去解決讀入到A[]陣列
的元素呢?
2.如果我的txt檔裡面存了文字,加整數,又有空格時,如果我只想抓txt檔的整數
部份,我又該如何去對從txt檔抓進來的A[ch]做判斷呢?(這問題如果能回答的話
不用整個程式,我知道大概的方法就行了)
/* prog9_5, 比較陣列元素值的大小 */ #include |
RedSnow
版主 發表:79 回覆:1322 積分:845 註冊:2003-12-15 發送簡訊給我 |
w40192 您好: 我試著將您的程式修改了一下,結果大致可以達到您所要的動作,我使用的方式是拆解讀入的字元資料,過濾掉非數字字元,然後再將數字字元換算後重新組合起來,同時我也另設了一組陣列來存放取得的數字資料。 我並未對程式做最佳化處理,而是儘量保留了您原來的敘述,並且是以達到拆解數字資料的目的為主,其它諸如陣列大小....等等的,都是隨意設定的,拆解對象也不包含小數點或是逗號在內,但是主要的拆解部份,我都加註了說明,您參考看看吧:
#include |
w40192
一般會員 發表:1 回覆:2 積分:0 註冊:2005-05-20 發送簡訊給我 |
|
RedSnow
版主 發表:79 回覆:1322 積分:845 註冊:2003-12-15 發送簡訊給我 |
|
w40192
一般會員 發表:1 回覆:2 積分:0 註冊:2005-05-20 發送簡訊給我 |
ReadSnow 大哥您好:
關於我上一封提到的 fseek 的問題,確定沒有錯誤,是我自己忘了把 data.txt
檔給拉到同一個資料夾下,因此造成編譯正確,執行有錯誤!?
至於您說的fseek 在您改善的程式裡面程式執行時應該是可有可無,我有把它刪
除再執行和存在再執行都可得到正確的答案!?
值得一提的是,您在搜尋數字時,令我想起當初在做回文數時的做法,一樣都是利
用一個count和一個基數base來做處理!!!我想,寫程式的功夫上,還是會以資歷
取勝的吧,工具上的使用還是得靠熟能生巧呢!?
再次感謝您的指導!? 謝謝!?
|
RedSnow
版主 發表:79 回覆:1322 積分:845 註冊:2003-12-15 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |