如何在 C++ 中读取由空格分隔的字符串? [关闭]

Posted

技术标签:

【中文标题】如何在 C++ 中读取由空格分隔的字符串? [关闭]【英文标题】:How to read a string separated by spaces in C++? [closed] 【发布时间】:2014-02-21 16:20:03 【问题描述】:

用户引入了一个像“1 10 4 1 53”这样的字符串,我必须读取字符串中的所有数字。我怎样才能在 C++ 中做到这一点?

【问题讨论】:

这个问题和类似的问题已经在这里讨论过无数次了;你试过搜索吗? 关键字是“*** C++ 读取文件整数空格分隔” 【参考方案1】:

如果您不关心速度,请使用stringstream

#include <string>
#include <sstream>
#include <iostream>
using namespace std;

int
main()

  string str("1 10 4 1 53");
  stringstream ss(str);
  int n;
  while (ss >> n)
    cout << n << endl;
  return 0;

【讨论】:

【参考方案2】:

只需将其放入istringstream 并使用普通的&gt;&gt;

【讨论】:

【参考方案3】:

您可以将输入作为字符串,然后您可以使用strtok() 对字符串进行标记以分隔字符串。

【讨论】:

1980 调用;他们希望恢复他们的字符串标记化技术......(那是 三十四 年前!!)

以上是关于如何在 C++ 中读取由空格分隔的字符串? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何在 C++ 中读取由空格分隔的十六进制字节数据

如何使用 scanf 从用户输入中获取字符串( char * ),由双引号分隔并包含空格 [关闭]

如何在c中读取由空格分隔的无符号字符

在C ++中将用空格分隔的字符串读入向量[关闭]

有没有一种简单的方法可以将由空格字符分隔的一行输入拆分为 C++ 中的整数?

如何在 C++ 中快速解析空格分隔的浮点数?