我看到了類似的問題我的:C++ string variables with if statementsC++字符串輸入作爲if/else語句條件
他的情況和我之間唯一的區別是,我想的條件是,如果有空間的字符串匹配一定的字符串。
這裏是我的代碼:
#include <iostream>
#include <string>
int main()
{
using namespace std;
string input1;
cout << "Welcome to AgentOS V230.20043." << endl;
cout << "To log in, please type \"log in\"" << endl;
cin >> input1;
if (input1 == "log in")
{
cout << "Please enter your Agent ID." << endl;
}
return 0;
}
出於某種原因,if語句不撿的字符串。但是,如果條件是:
if (input1 == "login"
它的工作原理。我無法找到一種方式來使用一個字符串與一個條件的空間。我想知道if語句是否可以,但是cin刪除了這個空格。
謝謝!
的可能重複(http://stackoverflow.com/questions/5838711/c-cin-input-with-spaces ) – rbaleksandar
@jigsaw函數cin.getline(input1,N)不處理類型爲std :: string的對象。您可以將它與字符數組一起使用,但是您將無法使用operator ==比較字符數組和字符串字面值。所以你標記了一個錯誤的答案。 –