[問題] 一行一行讀取string的資料

看板C_and_CPP作者時間13年前 (2012/05/31 13:57), 編輯推噓0(002)
留言2則, 2人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) Linux g++ 問題(Question): 小弟目前在正修改一隻程式,執行狀況是會從socket收一個string進來 然後必需要把資料傳給下一個function,那隻function會去讀取string的資料 但是因為要對每行的資料做一些處理,所以只能一行一行讀取 原本的作法是先把從socket收進來的資料寫入的硬碟中,做一次I/O 可是目前要直接在程式內部傳遞,所以想請教一下是否有什麼方法可以 將string中的資料一行一行讀出? 我試過getline,可是因為getline似乎只能用在 file stream或者standard input上,所以沒有辦法直接一行一行讀取string的內容 麻煩請大家給我些建議,是不是有什麼function可以直接呼叫或者大致上的寫法 感謝大家 餵入的資料(Input): string的內容類似這樣子 <type>1</type> <end>0</end> 預期的正確結果(Expected Output): 程式將逐行比對,讀取到<type>時會去看內容是什麼 例如:<type>1</type> 輸出:type = 1 錯誤結果(Wrong Output): 目前我把抓到的封包傳過去,都是全部的資料一起過去,沒有辦法逐行傳遞 程式碼(Code):(請善用置底文網頁, 記得排版) string str; //由另一個function傳進來的string ifstream read; read.open("tmp.txt"); //讀檔 read.getline(data, sizeof(data),'\n'); //逐行讀取檔案內容 想請問是不是可以直接把string用類似逐行讀取內容的方式實作? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 163.22.21.180

05/31 14:00, , 1F
sstream 應該是你要的
05/31 14:00, 1F

05/31 20:04, , 2F
感謝C大!! 問題解決了!!!!
05/31 20:04, 2F
文章代碼(AID): #1FnmXBq1 (C_and_CPP)