你如何比较你从“getline(cin,fistName);”得到的东西;到一个字符串“John Doe”。
类似的东西:
#include <string>
main() {
int x;
cin >> x;
string fullName;
getline(cin, fullName);
if(fullName == "John Doe")
// some code;
}
答案 0 :(得分:1)
一旦有两个字符串,就可以使用它的比较功能。 你可以在这里阅读String Compare
答案 1 :(得分:0)
答案 2 :(得分:0)
所以,我最初在上面的代码中分享的问题是我在getline上面使用了cin。正如我现在所理解的那样,cin&#39; grabs&#39;输入并离开/ n或&#39;输入&#39;在溪流中。因此,只有/ n寄存器和用户错过了输入其名称的机会,如上例所示。
我通过避免使用cin和使用getline解决了这个问题。另外,我使用cin.ignore()后使用cin,如果它后跟一个getline,我就解决了这个问题。
main(){
string x,y;
cin >> x;
cin.ignore();
getline(cin, y);
if (x == y) {
//some code
}
}
此外,您可以将getline值与equals运算符进行比较,如上面的代码所示。