[問題] 存取檔案的一些問題

看板C_and_CPP作者 (小葉子)時間14年前 (2011/05/07 13:36), 編輯推噓0(007)
留言7則, 3人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) VC++ 2005 MFC 問題(Question): 目前是用 fstream 來做存取, 可是當我的路徑裡面有中文的時候, 就會讀取失敗。 目前有改用 CStdioFile 來做存取, 路徑的問題似乎是OK了, 不過使用 CStdioFile::ReadString(CString& rString) 來讀取時, 會將整行的資料都塞進去 rString 裡面, 可是每一行裡面有好幾個資料, 該如何將它們分別抓出來!? 如下方的 Input,每一行裡面有RGB三個值和一個字串, 分隔的符號有可能是 空白符號、'\t'、',' 要怎樣才能正去的分離這些資料!? 目前到這邊的問題似乎是如何從 CString 分離出我要的資料, 或是各位有沒有什麼建議用其他方式來做存取也可以達到相同的功能!? 餵入的資料(Input): 255 0 0 紅色 0 255 0 綠色 0 0 255 藍色 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 125.230.72.216 ※ 編輯: ahongyeh 來自: 125.230.72.216 (05/07 13:38)

05/09 18:45, , 1F
sscanf...
05/09 18:45, 1F

05/09 19:38, , 2F
回樓上,sscanf不是要固定格式嗎!?
05/09 19:38, 2F

05/09 19:39, , 3F
可是我輸入的檔案,分隔符號不是唯一的,
05/09 19:39, 3F

05/09 19:39, , 4F
所以不知道怎麼下那個指令~~ @@
05/09 19:39, 4F

05/09 19:47, , 5F
我建議你把具體的檔案內容貼上來,會更容易給你建議
05/09 19:47, 5F

05/09 20:32, , 6F
sscanf(string,"%[^ \t,]%c...",...)
05/09 20:32, 6F

05/09 20:37, , 7F
拆成小字串之後再做轉換即可
05/09 20:37, 7F
文章代碼(AID): #1DnDfwyD (C_and_CPP)