怎樣判斷一個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;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM