字符串比较

发布于 2024-08-29 21:00:34 字数 767 浏览 4 评论 0原文

我想比较两个用户输入字符串,但无法这样做...

#include "stdafx.h"
#include "iostream"
#include "string"
using namespace std;

int _tmain(int argc, _TCHAR* argv0[])
{
    string my_string;
    string my_string2;
    cout<<"Enter string"<<endl;
    cin>>my_string;
    cout<<"Enter 2nd string"<<endl;
    cin>>my_string2;
    cout<<my_string<<"  "<<my_string2;
    strcmp(my_string,my_string2);
    int result;
    result= strcmp(my_string,my_string2);
    cout<<result<<endl;
    return 0;
}

出现此错误。 错误 1 ​​错误 C2664: 'strcmp' : 无法将参数 1 从 'std::string' 转换为 'const char *' c:\users\asad\documents\visual studio 2008\projects\string\string\string.cpp 23 String

I want to compare two user input strings, but not able to do so...

#include "stdafx.h"
#include "iostream"
#include "string"
using namespace std;

int _tmain(int argc, _TCHAR* argv0[])
{
    string my_string;
    string my_string2;
    cout<<"Enter string"<<endl;
    cin>>my_string;
    cout<<"Enter 2nd string"<<endl;
    cin>>my_string2;
    cout<<my_string<<"  "<<my_string2;
    strcmp(my_string,my_string2);
    int result;
    result= strcmp(my_string,my_string2);
    cout<<result<<endl;
    return 0;
}

This error is appearing.
Error 1 error C2664: 'strcmp' : cannot convert parameter 1 from 'std::string' to 'const char *' c:\users\asad\documents\visual studio 2008\projects\string\string\string.cpp 23 String

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

最近可好 2024-09-05 21:00:34

由于您使用的是 std::string,因此 strcmp 是不必要的 - 您可以只使用 <, ==、<代码>!=等

Since you're using std::string, strcmp is unnecessary -- you can just use <, ==, !=, etc.

寻找我们的幸福 2024-09-05 21:00:34

您的包含:

由于您包含标准标头,因此它们应该位于 <> 中。

#include <字符串>
#include

#include 带“”一般用于您自己的头文件,而不是标准头文件。

您正在使用 C++,因此不需要使用 strcmp。在 C++ 中,您可以简单地使用 == & != 比较两个字符串。

if (my_string == my_string2) 结果 = 0;
else result = 1;

另外,如果要将字符串转换为 const char*,可以使用 mystring.c_str()

Your includes:

Since you are including standard headers, they should be in <>

#include <string>
#include <iostream>

#include with "" is generally used for your own header files, not standard header files.

You are using C++, and therefore need not use strcmp. In C++, you can simply use == & != to compare two strings.

if (my_string == my_string2) result = 0;
else result = 1;

Also, if you want to convert a string to a const char*, you can use mystring.c_str()

终遇你 2024-09-05 21:00:34

如果您想使用 strcmp,请注意它采用的参数与您使用的参数不同。

http://www.cppreference.com/wiki/c/string/strcmp

If you want to use strcmp note that it takes different parameters than the ones you used.

http://www.cppreference.com/wiki/c/string/strcmp

失退 2024-09-05 21:00:34

另一种方法也是这样做

result= strcmp(my_string.c_str(),my_string2.c_str());

Another way to do this is also

result= strcmp(my_string.c_str(),my_string2.c_str());
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文