3

我有一个用户输入 ID(它是 int),然后我有一个联系人 ID,它是我的 Struct 的一部分。联系人 ID 也是 int。

我需要比较它们是否相同,如果它们相同,那么我知道它存在。

这是我发现的最接近的东西,但它不起作用: http ://www.cplusplus.com/reference/string/string/compare/

通过阅读该页面,我做了类似的事情:

if(user_input_id.compare(p->id)==0) 
{
}

我收到错误消息说表达式必须具有类类型。

如何在 C++ 中比较两个整数?

4

4 回答 4

6

您找到的功能是用于比较两个std::strings。你没有std::strings,你有ints。要测试两个ints 是否相等,只需==像这样使用:

if (user_input_id == p->id) {
  // ...
}

事实上,即使你有两个std::strings,你也很可能想在==那里使用。

于 2013-02-17T18:21:46.100 回答
0

我不确定你的意思,但恕我直言

int k;
std::cin>>k;
if (k==p->id) 
    do_sth();
else
    do_sth_else();

关键是您不要将输入存储为字符串,而是一个 int。

于 2013-02-17T18:21:15.340 回答
0
    //simple program to compare
    #include<iostream>
    using namespace std;
    typedef struct node {
        int a;
    }node;
    int main() {
        node p;
        p.a = 5;
        int a;
        cin >> a;
        if( p.a == a )
            cout << "Equal" << endl;
        else 
            cout << "Not Equal"<< endl;
        return 0;
    }
于 2013-02-17T18:28:44.807 回答
0

如果你的结构的名字是 p 并且你有一个叫做 hello 的整数,你可以执行以下操作

int input;
cin << input;
if(input == p.hello){
    cout << "the input is equal to p.hello" << endl;
}
else{
    cout << "the input is not equal to p.hello" << endl;
}
于 2014-02-09T17:55:57.707 回答