其實不管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;