#include<iostream>
#include<cstdlib>
#include<string>
using namespace std;
int main()
{
string A1;
cin>>A1;
if(A1==0)
{
cout<<"Success!";
}
else
{
cout<<"Failure!";
}
system("PAUSE");
return 0;
}
C ++初学者。我试图使用==运算符将键入的字符串的值与0进行比较。以上是我的代码示例。如何以最简单的方式解决这个问题?谢谢。
答案 0 :(得分:1)
考虑撰写if(A1 == "0")
。 C ++ std::string
类重载 ==
运算符以允许此操作。
要检查字符串是否为空,请写下if (A1.empty())
或if (!A1.size())
。我更喜欢第二种配方,因为它与其他C ++标准库对象一致。
我个人更喜欢在compare
上使用std::string
方法。这使得您的代码更易于被其他开发人员阅读(例如,Java开发人员不愿意在此上下文中看到==
。)
答案 1 :(得分:1)
C ++是一种强类型语言。 0
本身就是一个数字。 "0"
是一个字符串文字。有些功能可以进行转换,例如。但是std::stoi
(String to Integer)和std::to_string
(很多东西要串起来)。
所以你在这里有很多可能的解决方案,以使类型相等。对于这种简化的案例,没有真正的最佳解决方案。