如何获取不以空格终止的字符串的输入?

时间:2014-01-16 00:04:21

标签: c++ string input cout getline

#include <iostream>
#include<string>
#include<vector>
#include<algorithm>


using namespace std;

int main()
{

 vector<string>Games;
 vector<string>::iterator iter;
 string command;
 string name;


cin>>command;
if(command=="add"){
    cout<<"You have choosen to add a game to your backlog.\n";
    cout<<"Enter the name of the Video Game\n";
    getline(cin,name); 
    Games.push_back(name);
    cout<<"The Game has been added\n";
}

}

是的,我知道这已存档。而且我知道你应该使用getline()函数传递给函数cin和字符串的名称来保存字符,但是当我在输入“add”命令之后编译并运行它然后该行 跳过getline(cin,name),我无法输入任何内容。

1 个答案:

答案 0 :(得分:1)

之前

getline(cin,name); 

使用

cin.ignore( std::numeric_limits<std::streamsize>::max(), '\n' );

要使用此声明,您需要包含标题<limits>