如何在 C++ 中使用 cin 将所有空格读入字符串?

Posted

技术标签:

【中文标题】如何在 C++ 中使用 cin 将所有空格读入字符串?【英文标题】:How to read in all whitespaces with cin in C++ into a string? 【发布时间】:2018-02-19 05:05:16 【问题描述】:

这是一个令人费解的问题,但是否可以读取用户的输入但让 cin 不停留在换行符或空格处?例如,用户可以输入:

Hello  w orld!


Hello World!

我希望所有的空格和换行符都输入到字符串中,基本上是来自用户的原始输入。有人可以告诉我如何在 C++ 中做到这一点吗?谢谢。

【问题讨论】:

您可以选择另一个分隔符(输入结束),然后使用string o; std::getline(cin, o, '-'); **其中“-”是必需的分隔符,它是一个单字符** 方便阅读:***.com/a/36978839/4581301 这使得How to read until EOF from cin in C++ 成为各种骗局。 【参考方案1】:

您可以使用 std::getline 来显示:

#include <iostream>
#include <string>

int main()

  std::string helloWorld;
  std::getline( std::cin, helloWorld );
  return 0;

【讨论】:

以上是关于如何在 C++ 中使用 cin 将所有空格读入字符串?的主要内容,如果未能解决你的问题,请参考以下文章

如何输入带空格的字符串

c++第二遍scanf读入问题

C++ cin 空格问题

C++ 如何将输入的数读入数组

c++从键盘输入字符串并保存成二进制文件

cin 不能直接读入空格,可以用getline(PAT统计字符数)