0
我想下面的C代碼轉換爲C++利用istringstream困惑:sscanf會istringstream C++
void test(char *s) {
int i;
sscanf(s, "%*s%d", &i);
}
我至今是:
void test(char *s) {
int i;
istringstream iss(s);
iss >> s >> i;
}
它有錯誤出現。我對istringstream太陌生了,無法弄清楚如何解決它。我希望對我的錯誤有所瞭解。 s應該是一個沒有空格的字符串和整數(例如Good123),我想刪除整數並將其放入i中。
嘗試過,但它然後它將s的內容存儲到s1,但沒有int被存儲在我。 – user1820560 2013-02-14 05:15:47
問題是,與sscanf相反,istringstream期望有一個空白分隔符。它只適用於非常簡單的解析(甚至比sscanf提供的更簡單)。我會用正則表達式。 – fons 2013-02-14 05:18:19