我知道这很简单,我只是想不起最好的方法。
我有一个像 "5 15 "
这样的输入,它定义了二维 vector 数组的 x 和 y。
我只需要将这两个数字放入 int col
和 int row
。
最好的方法是什么?我正在尝试字符串流,但无法找出正确的代码。
感谢您的帮助!
最佳答案
C++ String Toolkit Library (StrTk)对您的问题有以下解决方案:
int main()
{
std::string input("5 15");
int col = 0;
int row = 0;
if (strtk::parse(input," ",col,row))
std::cout << col << "," << row << std::endl;
else
std::cout << "parse error." << std::endl;
return 0;
}
更多示例请见 Here
注意:对于字符串到整数的转换,此方法比标准库例程快大约 2-4 倍,比基于 STL 的实现(stringstream、Boost lexical_cast 等)快大约 120 倍以上 - 当然取决于使用的编译器。
关于c++ - 从带有空格的字符串中获取整数的最佳方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2619227/