#29849: stringstream正規解法


alex950301 (alex0301)

學校 : 新北市立新莊高級中學
編號 : 141423
來源 : [210.71.71.202]
最後登入時間 :
2024-04-26 18:40:27
d018. 字串讀取練習 | From: [61.64.1.159] | 發表日期 : 2022-04-05 14:44

stringsream ==> #include <sstream>

首先:

stringstream ss ;

    string s ;

    while( getline( cin , s ) ) {

        ss.clear() ;     //把ss清空

        ss.str(s) ;      //把s 寫入ss

        string a , sss ;

        while( ss >> a ) {  //持續把ss 輸入進a

               int num = a.find(':') ;

               sss = a.substr( num + 1 ) ;

               if(接下來就交給你了~~)

        }

}

感謝cges30901,sakinu080712345@gmail.com提供我一些函式可以使用

1. string 轉 float 可用 stof(float) 或 stod(double)

2. 找出 冒號的位置(:) 可以用 EX. int pos = a.find(':')

 

引用cges30901:

3.例如find找出第幾位數放在變數pos:
前面的序號只要知道奇數或偶數,所以只要判斷a[pos-1]就好,後面的實數可以用a.substr(pos+1)來取得。

substr的說明:https://www.cplusplus.com/reference/string/string/substr/

 

 
ZeroJudge Forum