2014-10-29 122 views
0

声明:我对C++非常陌生; Java是我的技能。将多个字符串作为一个字符串读取? C++

在我写程序,我需要比较两个字符串,如下所示:

#include<string> 
#include<iostream> 

using namespace std; 

int main() 
{ 
    string full_name = "John Doe"; 
    string find_name; 

//User inputs "John Doe" 

    cout << "Enter the name of the person to search for:" << endl;  
    **cin >> find_name;//THIS IS THE ISSUE I HAVE** 

    if(find_name == full_name) //or some other compare function. NOT THE ISSUE. 
     action_do_something; 


return 0; 
} 

据我所知,缓冲区只需要“约翰”和“李四”是第二个,不相关的命令。我怎样才能阻止缓冲区切断第二个名字? (有些名称是5个名字很长,有些只是1个)

我一直在用getline()做文章,但我想我并不完全理解它 - 它不会等待前面的输入。

在此先感谢!

回答

0

使用标准功能std::getline。例如

std::getline(std::cin, find_name); 
相关问题