[問題] 一行一行讀取string的資料
開發平台(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
05/31 14:00, 1F
→
05/31 20:04, , 2F
05/31 20:04, 2F