首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >std::cin输入带空格?

std::cin输入带空格?
EN

Stack Overflow用户
提问于 2011-04-30 08:48:33
回答 5查看 615.5K关注 0票数 187
代码语言:javascript
复制
#include <string>

std::string input;
std::cin >> input;

用户想要输入"Hello World“。但cin在这两个单词之间的空格处失败了。怎样才能让cin接受整个Hello World

我实际上是用结构来做这件事的,而cin.getline似乎不起作用。下面是我的代码:

代码语言:javascript
复制
struct cd
{
    std::string CDTitle[50];
    std::string Artist[50];
    int number_of_songs[50];
};

std::cin.getline(library.number_of_songs[libNumber], 250);

这会产生一个错误。有什么想法吗?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-04-30 08:52:03

您必须使用cin.getline()

代码语言:javascript
复制
char input[100];
cin.getline(input,sizeof(input));
票数 124
EN

Stack Overflow用户

发布于 2017-05-08 18:58:26

标准库提供了一个名为ws的输入函数,它使用输入流中的空格。你可以这样使用它:

代码语言:javascript
复制
std::string s;
std::getline(std::cin >> std::ws, s);
票数 60
EN

Stack Overflow用户

发布于 2014-10-16 22:34:56

使用:

代码语言:javascript
复制
getline(cin, input);

该函数可以在

代码语言:javascript
复制
#include <string>
票数 32
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5838711

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档