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