G-7*_*-71 0 c++ string parsing stl
我有一个std::string包含3个数字,用空格分隔,例如:123334 33335 54544.如何快速提取这三个数字?
int r = ... /* 123334 */
int g = ... /* 33335 */
int b = ... /* 54544*/
Run Code Online (Sandbox Code Playgroud)
sth*_*sth 11
最简单的方法是使用字符串流:
std::string numbers = "123334 33335 54544";
std::istringstream parse(numbers);
int r, g, b;
parse >> r;
parse >> g;
parse >> b;
if (!parse)
throw std::runtime_error("invalid string");
Run Code Online (Sandbox Code Playgroud)