線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1082
推到 Plurk!
推到 Facebook!

請問一下有關於C語言的讀入問題

尚未結案
lonielonies
一般會員


發表:6
回覆:0
積分:1
註冊:2005-04-17

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-04-17 16:05:06 IP:211.76.xxx.xxx 未訂閱
最近一直在寫一個C的程式開檔讀入題目 可是寫了很久,發現讀入的是亂碼,或是遇到其他瓶頸 一直突破不了,也看了許多參考書籍,但是大部分的書籍 對於此部分的介紹都只是較簡單部分 我先說明我實作的題目好了 要先讀入文字檔txt 裡面內容如下 93/11,台北NOVA,台北,$50000,$40000,$1000 94/01,中壢 NOVA,桃園,$60000,$20000,$2000 然後要在畫面輸出如下 93/11 台北NOVA 台北 $50000 $40000 $1000 94/01 中壢NOVA 桃園 $60000 $20000 $2000 在這邊我就卡住了,因為我是用struct去寫 輸出時候,都會有亂碼出現,而且題目要求原本文字檔裡的逗號要去掉 這邊我也一直弄不清楚 應該說在開檔、存檔、讀入和輸出這部分我都不清楚 希望有大大可以教我一下,或是提供我一些方法 謝謝
暗黑破壞神
版主


發表:9
回覆:2301
積分:1627
註冊:2004-10-04

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-04-17 17:08:02 IP:221.169.xxx.xxx 未訂閱
要先了解幾個動作 1.fopen 開檔 2.fclose 關檔 3.fgets 讀入一行 在你用了 fgets 讀到一行時。你可以在那一行取得 "93/11,台北NOVA,台北,$50000,$40000,$1000\n" 這樣的字串。 再來就是你去切割字串。分別依序放入你的 struct 而你要印出時。就是依你的 struct 去印出來。 就這樣而已。 這個應是習題。所以只教你思考方式。 加油
supman
尊榮會員


發表:29
回覆:770
積分:924
註冊:2002-04-22

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-04-17 17:31:46 IP:203.204.xxx.xxx 未訂閱
您好: 一行一行把他讀進來可以了,您可能是用fread讀檔,讀過了頭才會出現亂碼的問題. char S[81]; FILE *fp; fp=fopen("test.txt","r"); while (fgets(S,sizeof(S),fp)) { printf("%s",S); //利用StrChr找出","的位置,然後使用strncat來分割字串,並在填入結構 } fclose(fp); getch();
hdilwy
初階會員


發表:18
回覆:65
積分:41
註冊:2004-08-31

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-04-18 11:58:39 IP:220.130.xxx.xxx 未訂閱
問題? strncat不是用來接字元陣列的嗎?
supman
尊榮會員


發表:29
回覆:770
積分:924
註冊:2002-04-22

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-04-18 12:39:12 IP:61.70.xxx.xxx 未訂閱
您好: 我打錯,應該是strncpy才對,後來答您另一篇發現不太好用,所以就順手將整個流程寫出來了,您可以去看看.
系統時間:2024-05-19 18:32:44
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!