如何将用户输入与字符串进行比较
How to compare user input with string?
我想将用户输入(文本)与linux下c++中已经声明的字符串(代码::block)进行比较我做了这样的东西,但不起作用
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;
}
您需要使用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'
)。
相关文章:
- 为什么字符串比较的 == 运算符相对于任一字符串长度线性时间(似乎)?
- 字符串比较中的意外输出
- 如何执行不区分大小写的字符串比较?
- 使用 getline(cin, var) 两次在进行字符串比较时会产生错误 (==)
- <<运算符优先级与字符串比较
- ">"运算符和"<"运算符如何进行字符串比较?
- Qt C++11 字符串通过子字符串比较列出交集
- std::out_of_range字符串比较中的异常
- 我正在尝试从输入文件中读取,然后使用它们的子字符串比较字符串的特定部分
- 字符* 与uint8_t的字符串比较
- 用字符串 c++ 比较对向量的元素
- 使用循环进行词典字符串比较
- 如何为C++映射创建自己的字符串比较对象
- 不带比较()的字符串比较
- 与 IF 语句C++的字符串比较?
- 字符串比较在与变量一起使用时给出不同的输出
- 更快的字符串比较排序,用于唯一()
- C 字符串比较“祝您好运”&gt;“再见”
- C 奇怪的行为和字符串比较
- 子字符串与 std::memcmp 或字符串::比较的比较