[問題] 請問陣列裡的空白欄位要怎麼讀?(已解決)

看板C_and_CPP (C/C++)作者 (kazu。)時間15年前 (2011/01/13 17:35), 編輯推噓2(206)
留言8則, 5人參與, 最新討論串1/1
開發平台(Platform):VC++ 問題(Question): 請問一下各位,假如讀取的檔案裡有空白欄位的話, 有辦法可以讀到嗎? 我一開始是用fscanf直接讀 http://codepad.org/JjmVcs0D 我有試過如果將空白值用一個"-"代替的話就沒問題了 但如果我留空白在那裡的話,他就會硬讀到三個值才換行, 並不會留空白在那裡。 後來爬文之後,有試著用fgets先讀一整行 然後在用sscanf去區分 http://codepad.org/5ajm6XnP 不過他還是不會把空白那邊留著>< 想請問有什麼方法可以把三個資料分別存成字串,然後空白也還留著嗎? 謝謝大家>< **補充一下 也不是要讀出空白,因為我需要非空白的值去處理資料, 我想要把f111讀出來然後存到另外一個陣列裡去 http://codepad.org/JjmVcs0D 例如有一個struct temp 裡面有char temp[10]然後我想要把 temp[0].temp=f111 temp[1].temp=f222 temp[2].temp=null temp[3].temp=f444 可是我的程式碼都會 temp[0].temp=f111 temp[1].temp=f222 temp[2].temp=f temp[3].temp=m 餵入的資料(Input): f111 m 111 f222 f 222 f 777 f444 m 444 預期的正確結果(Expected Output): f111 m 111 f222 f 222 f 777 f444 m 444 錯誤結果(Wrong Output): f111 m 111 f222 f 222 f 777 f444 m 444 f444 -- なで肩です ミラクルマンです 魔王です 指甲ピカピカ…(低頭) 5人合わせて、ピカピカ嵐で~すˇ 俺樣一直都是ピカピカ的! + + + + + + \○ \○ \○ ○+ <○ + \ \ \ + + > || || || || + </ + ψsei51244 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.175.148.151

01/13 17:50, , 1F
你要讀出空白要幹嘛?我看你的結果用fgets,fputs就可以
01/13 17:50, 1F

01/13 17:50, , 2F
輸出結果再說清楚些吧..
01/13 17:50, 2F
※ 編輯: kazuame 來自: 218.175.148.151 (01/13 18:00) ※ 編輯: kazuame 來自: 218.175.148.151 (01/13 18:07)

01/13 18:06, , 3F
如果長度是固定的,可考慮改fgets傳入的數量
01/13 18:06, 3F

01/13 18:11, , 4F
XML 也是不錯的選擇, 走在時代的尖端!?
01/13 18:11, 4F

01/13 18:19, , 5F
長度都不是固定的><
01/13 18:19, 5F

01/13 18:48, , 6F
看一下回覆是不是你要的吧..不行的話就只能char分析吧
01/13 18:48, 6F

01/13 18:49, , 7F
regex
01/13 18:49, 7F

01/13 20:56, , 8F
已解決了 我對齊是用\t 所以用strtok視tab做分割就可以了
01/13 20:56, 8F
文章代碼(AID): #1DBiTDME (C_and_CPP)
文章代碼(AID): #1DBiTDME (C_and_CPP)