字符串比较
我想比较两个用户输入字符串,但无法这样做...
#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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
由于您使用的是
std::string
,因此strcmp
是不必要的 - 您可以只使用<
,==、<代码>!=等
Since you're using
std::string
,strcmp
is unnecessary -- you can just use<
,==
,!=
, etc.您的包含:
由于您包含标准标头,因此它们应该位于 <> 中。
#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()
如果您想使用 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
另一种方法也是这样做
Another way to do this is also