[問題] 不同長度的讀檔問題

看板C_and_CPP作者 (c++新手)時間14年前 (2011/10/13 11:44), 編輯推噓0(0012)
留言12則, 7人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) dev c++ 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) 問題(Question): 要如何讀取不同長度的檔案 餵入的資料(Input): 5,6 8+1g 5+4z,7+2k,1+5f,6+7e 1+1e,2+2l,8+1j 7,8 預期的正確結果(Expected Output): 同上 錯誤結果(Wrong Output): 無法正確顯示 程式碼(Code):(請善用置底文網頁, 記得排版) while(fgets(str,20,fp_r)!=NULL){ sscanf(str,"%d%*c%d%*c\n,%d%*c%d%*c\n",&a[p],&b[p],&c[p],&d[p]); 補充說明(Supplement): 我是打算用fgets和sscanf來寫 但是這樣我讀到下一行的話 %d%c這些格式就要重新改變嗎? 我有想到要用判別式判別有多長 套用不同的格式 但是這樣感覺很沒有效率 請問有比較好的寫法嗎? Ex 可以直接用逗號區隔 換行也會區隔 例如這種方法 請問該怎麼寫呢? 或是哪裡有答案 謝謝大家!!!!!!!!!!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.39.175.234

10/13 12:03, , 1F
用getline讀檔之後放進string
10/13 12:03, 1F

10/13 12:04, , 2F
不知道c裡面有沒有getline
10/13 12:04, 2F

10/13 12:33, , 3F
沒有,但是可以自己寫.網路上getline的實作很多
10/13 12:33, 3F

10/13 13:17, , 4F
getchar()吃下來自己轉也可以阿
10/13 13:17, 4F

10/13 13:29, , 5F
可以用flex(逃)
10/13 13:29, 5F

10/13 14:39, , 6F
C語言是gets
10/13 14:39, 6F

10/13 19:07, , 7F
fgets better than gets
10/13 19:07, 7F

10/13 21:10, , 8F
感謝你們的幫忙 想問一下getchar是不是一定要按enter才能繼쐿
10/13 21:10, 8F

10/13 21:17, , 9F
是,getchar 要抓到 enter 才算數。
10/13 21:17, 9F

10/13 21:35, , 10F
整理你的問題,一次問完,別想到什麼馬上問什麼.
10/13 21:35, 10F

10/13 21:37, , 11F
隨便在網路上打fgetc \n都可以找到相關資訊
10/13 21:37, 11F

10/25 22:14, , 12F
感謝!!!
10/25 22:14, 12F
文章代碼(AID): #1EbbwJRc (C_and_CPP)