怎样判断一个char类型的字符串与一个string类型的字符串是否相等

其实不管char类型的两个字符串之间的比较还是string类型的两个字符串之间的比较,各大佬的博客上写的都比我清楚,主要是一个char类型的字符串和一个string类型的字符串之间的比较,今天百度了一整天也没有找到比较理想的适合我的解决算法,所以本菜鸟在这里自食其力,丰衣足食!(不能保证最简单,但是好歹是目前我知道的唯一可以解决问题的代码)

问题:string无法直接与char比较

解决:依次按顺序将string的字符按顺序复制到char类型数组中,最终通过strcmp函数来判断两个char类型字符串是否相等(0为相等,1为不相等)

 1 #include <iostream>
 2 #include <string>
 3 using namespace std;
 4 
 5 //判断char类型字符串h和string字符串是否相等
 6 int main() {
 7     string s;
 8     cout << "请输入一段字符串:";
 9     cin >> s;
10     int i;
11     char *c;
12     c = (char*)malloc(s.size() * sizeof(char));
13     for (i = 0; i <s.size(); i++) {
14         c[i] = s[i];
15         cout << c[i];
16     }
17     c[i] = '\0';
18     cout << endl;
19     cout << c << endl;
20     char a[10]="wchykx";
21     if (strcmp(c, a) == 0)  cout << "你做到了" << endl;
22     else cout << "下次一定" << endl;

猜你喜欢

转载自www.cnblogs.com/2019-12-10-18ykx/p/12902210.html