假设我们在C中有一个C样式字符串,格式为[4个字母] [数字] [数字] ….例如,字符串可能如下所示:
abcd 1234 -6242 1212
应该注意的是,字符串预计会有太多的空白(如上所示).
我如何提取这三个数字并将它们存储在一个数组中?
解决方法
stringstreams的工作,现场直播:
http://ideone.com/e8GjMg
#include <sstream> #include <iostream> int main() { std::istringstream iss(" abcd 1234 -6242 1212"); std::string s; int a,b,c; iss >> s >> a >> b >> c; std::cout << s << " " << a << " " << b << " " << c << std::endl; }
打印
abcd 1234 -6242 1212