c++ - 从带有空格的字符串中获取整数的最佳方法?

标签 c++ string whitespace

我知道这很简单,我只是想不起最好的方法。 我有一个像 "5 15 " 这样的输入,它定义了二维 vector 数组的 x 和 y。 我只需要将这两个数字放入 int colint 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/

相关文章:

c++ - 在服务器应用程序中将客户端信息存储在 map 中的设计模式建议

C++ 内存映射文件数据预取

c++ - 多重定义

java - 使用特定单词java将字符串拆分为单词数组

c++ - 编译并运行CGAL Triangulation演示

c++ - 字符串的数据类型是什么?

string - F# - 在字符串中的第一个之后删除重复字符

emacs - 如何从 Magit 中的大块中删除尾随空格?

r - 在 RStudio 脚本中自动插入空格

CSS 空白 :pre always renders a horizontal scrollbar in firefox