Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

So sánh chuỗi không phân biệt chữ hoa thường trong C++


Trong C++, chúng ta có chuỗi trong thư viện chuẩn. Trong chương trình này, chúng ta sẽ thấy cách kiểm tra xem hai chuỗi có giống hệt nhau hay không. Trong trường hợp này, chúng ta sẽ bỏ qua chữ hoa/chữ thường.

Logic ở đây rất đơn giản. Chúng ta sẽ chuyển đổi toàn bộ chuỗi thành chuỗi chữ thường hoặc chữ hoa, sau đó so sánh chúng, và trả về kết quả.

Chúng ta đã sử dụng thư viện algorithm để lấy hàm transform chuyển đổi chuỗi thành chuỗi chữ thường.

Đầu vào: Hai chuỗi "Hello WORLD" và "heLLO worLD" 
Đầu ra: Các chuỗi giống nhau

Thuật toán

Bước 1: Lấy hai chuỗi str1 và str2
Bước 2: Chuyển str1 và str2 thành dạng chữ thường
Bước 3: So sánh str1 và str2
Bước 4: Kết thúc

Mã ví dụ

#include<iostream> 
#include <algorithm> 
using namespace std; 

int case_insensitive_match(string s1, string s2) { 
    //chuyển s1 và s2 thành chuỗi chữ thường 
    transform(s1.begin(), s1.end(), s1.begin(), ::tolower); 
    transform(s2.begin(), s2.end(), s2.begin(), ::tolower); 
    if(s1.compare(s2) == 0) 
        return 1; //Hai chuỗi giống nhau 
    return 0; //không khớp 
} 

main() { 
    string s1, s2; 
    s1 = "Hello WORLD"; 
    s2 = "heLLO worLD"; 
    if(case_insensitive_match(s1, s2)) { 
        cout << "Các chuỗi giống nhau"; 
    } else { 
        cout << "Các chuỗi không giống nhau"; 
    } 
}

Kết quả

Các chuỗi giống nhau