2015-11-07 67 views
0

我想在linux下(代碼::塊) 我做了這樣的事情,在C++中已經聲明要比較的字符串用戶輸入(文本),但它不工作如何比較用戶輸入和字符串?

int LoadModule() 
{ 
    string test1 = "LOAD DEFAULT DATABASE"; 
    string test2; 
    cout << "select cmd: " << endl; 
    cin >> test2; 
    //todo: compare thoose 2 strings. And if they are equal, print "done" 
    return 0; 
} 

回答

2

你需要使用std::getline()以輸入std::string包含的空白字符:

std::getline(std::cin, test2); 

這樣做一個簡單的比較

if(test1 == test2) { 
    std::cout << "Done!" << std::endl; 
} 

應該可以工作。


你應該注意到,std::istream& operator>>(std::istream&, std::string&)將剛剛從輸入複製到第一個空格字符(' ''\t''\n')得到滿足。

+0

謝謝,它的工作原理。祝你有個愉快的夜晚。 – sebek

+0

@sebek mark as accepted,then – LBes

+0

@Lesancon done – sebek