strncmp比较可能包含整数“ 1234”的字符串

时间:2018-10-18 23:43:53

标签: c++

using namespace std;

int main()
{

    string input="42";

    const char* var1 = &input[0];
    const char* var2 = &input[1];
    if (1==strncmp(var1,var2,1)){cout<<"Not working"<<endl;}

}

我正在尝试比较4和2,问题是输入可能是字符串,例如“ ab”。我认为此功能比较了ascii值。那意味着这个函数应该对我的42有效,但是遗憾的是没有打印任何东西:(

1 个答案:

答案 0 :(得分:2)

strncmp不能保证完全返回1代表“大于”。它只是返回一个正值,因此条件应为strncmp(...) > 0