Cách so sánh chuỗi trong C ++

How Compare String C



So sánh các chuỗi là một nhiệm vụ rất phổ biến đối với bất kỳ ngôn ngữ lập trình nào. Nó chủ yếu được sử dụng để xác thực dữ liệu, chẳng hạn như kiểm tra tên người dùng và mật khẩu của thông tin đăng nhập. Việc so sánh chuỗi có thể được thực hiện bằng cách sử dụng toán tử so sánh hoặc sử dụng các hàm tích hợp sẵn. Hai hàm so sánh chuỗi được sử dụng trong C ++ là, strcmp ()đối chiếu() . Các strcmp () là một hàm thư viện của C để so sánh hai chuỗi. Các c ompare () là một hàm tích hợp của C ++ để so sánh hai chuỗi. Các cách để so sánh các chuỗi bằng cách sử dụng các toán tử và hàm so sánh đã được giải thích trong hướng dẫn này.

Điều kiện tiên quyết:

Trước khi kiểm tra các ví dụ của hướng dẫn này, bạn phải kiểm tra trình biên dịch g ++ đã được cài đặt hay chưa trong hệ thống. Nếu bạn đang sử dụng Visual Studio Code, thì hãy cài đặt các phần mở rộng cần thiết để biên dịch mã nguồn C ++ nhằm tạo mã thực thi. Ở đây, ứng dụng Visual Studio Code đã được sử dụng để biên dịch và thực thi mã C ++.







Sử dụng Toán tử so sánh để so sánh chuỗi:

Cách phổ biến nhất để so sánh các chuỗi trong C ++ là sử dụng toán tử so sánh. Đây là các toán tử bằng (==) và không bằng (! =). Tạo tệp C ++ với mã sau để so sánh hai giá trị chuỗi bằng toán tử so sánh. Theo mã, địa chỉ URL sẽ được lấy từ người dùng và so sánh với các chuỗi khác bằng toán tử bằng (==). Nếu giá trị đầu vào khớp với bất kỳ chuỗi nào của điều kiện ‘if’, thì thông báo cụ thể sẽ được in; nếu không, thông báo của phần ‘else’ sẽ được hiển thị.



// Bao gồm thư viện cần thiết

#bao gồm

usingnamespace std;

intmain() {
// Khai báo một biến chuỗi
chuỗi url_addr;
// Lấy địa chỉ url từ người dùng
Giá cảurl_addr;
// So sánh giá trị đầu vào với một chuỗi khác bằng toán tử tương đương
nếu như(url_addr== 'Google com')
Giá cả<<'Nó là một công cụ tìm kiếm wensite.'<<endl;
elseif(url_addr== 'jooble.org')
Giá cả<<'Đó là một trang web tìm kiếm việc làm.'<<endl;
elseif(url_addr== 'linuxhint.com')
Giá cả<<'Nó là một trang web blog.'<<endl;
khác
Giá cả<<'Không có thông tin được thêm vào trang web này.'<<endl;

return0;
}

Đầu ra:



Sau khi thực thi mã, nếu người dùng gõ ‘ linuxhint.com ‘Dưới dạng đầu vào, điều kiện‘ nếu ’thứ ba sẽ được trả về Thật, và kết quả sau sẽ xuất hiện.





Sử dụng hàm so sánh () để so sánh chuỗi:

Hàm so sánh () so sánh hai chuỗi và trả về 0 hoặc 1 hoặc -1 dựa trên kết quả phù hợp của phép so sánh. Ý nghĩa của các giá trị trả về được đưa ra bên dưới.



  • Hàm sẽ trả về 0 khi cả hai chuỗi so sánh bằng nhau.
  • Hàm sẽ trả về 1 khi chuỗi đầu tiên lớn hơn chuỗi thứ hai.
  • Hàm sẽ trả về -1 khi chuỗi đầu tiên nhỏ hơn chuỗi thứ hai.

Cú pháp:

NSchuỗi1.đối chiếu(string2)

Tạo tệp C ++ với mã sau để so sánh hai giá trị chuỗi với hai giá trị đầu vào bằng cách sử dụng hàm so sánh (). Có thể kiểm tra xác thực của bất kỳ người dùng nào bằng cách so sánh các giá trị do người dùng gửi với các giá trị của người dùng đã xác thực. Quá trình xác thực này đã được thực hiện trong đoạn mã sau. Địa chỉ email và mật khẩu hợp lệ đã được lưu trữ thành hai biến chuỗi ở đây. Tiếp theo, các giá trị này được so sánh với địa chỉ email và mật khẩu được lấy từ người dùng sử dụng đối chiếu () hàm số. Lôgic toán tử đã được sử dụng trong mã để xác thực người dùng. Thông báo thành công sẽ được in nếu cả hai hàm so sánh () trả về giá trị True. Nếu không, thông báo lỗi sẽ được in.

// Bao gồm thư viện cần thiết

#bao gồm

usingnamespace std;

intmain() {

// Khởi tạo hai biến chuỗi
chuỗi email('[email được bảo vệ]');
mật khẩu chuỗi('linuxhint');
// Khai báo hai biến chuỗi
string user_email;
string user_password;

// Lấy địa chỉ email từ người dùng
Giá cảEmail người dùng;

// Lấy mật khẩu từ người dùng
Giá cảmật khẩu người dùng;

// Kiểm tra tên người dùng và mật khẩu hợp lệ hay không hợp lệ
nếu như (Email người dùng.đối chiếu(e-mail) == 0&&mật khẩu người dùng.đối chiếu(mật khẩu mở khóa) == 0 )
Giá cả<<'Xác thực thành công.'<<endl;
khác
Giá cả<<'Email hoặc mật khẩu không hợp lệ.'<<endl;

return0;
}

Đầu ra:

Sau khi thực thi mã, nếu người dùng gõ ‘ [email được bảo vệ] ‘Như địa chỉ email và‘ 12345 ‘Làm mật khẩu, điều kiện‘ nếu ’thứ ba sẽ được trả về Sai, và kết quả sau sẽ xuất hiện.

Sau khi thực thi lại mã, nếu người dùng nhập ‘ [email được bảo vệ] ‘Như địa chỉ email và‘ linuxhint ‘Làm mật khẩu, điều kiện‘ nếu ’thứ ba sẽ được trả về Thật, và kết quả sau sẽ xuất hiện.

Sử dụng hàm strcmp () để so sánh chuỗi:

Strcmp () là một hàm khác để so sánh các chuỗi trong C ++. Nó trả về true nếu cả hai chuỗi so sánh đều bằng nhau. Các tham số đầu vào được thực hiện bởi hàm này khác với hàm so sánh (). Hàm so sánh nhận giá trị chuỗi làm tham số và hàm strcmp () nhận mảng char làm tham số. Cú pháp của hàm này được đưa ra dưới đây.

Cú pháp:

NS strcmp ( hăng sô char *str1, hăng sô char *str2);

Tạo tệp C ++ với mã sau để so sánh hai chuỗi bằng cách sử dụng hàm strcmp (). Hai mảng ký tự gồm 100 phần tử đã được khai báo trong mã để lưu trữ các giá trị chuỗi do người dùng lấy. Các theo hàng() được sử dụng để lưu dữ liệu đầu vào của người dùng vào các biến mảng char. Tiếp theo, strcmp () Hàm đã sử dụng để kiểm tra các giá trị đầu vào có bằng nhau hay không. Nếu hàm trả về Thật, sau đó thông báo thành công sẽ được in ra; nếu không, thông báo lỗi sẽ được in,

// Bao gồm các thư viện cần thiết

#bao gồm

#bao gồm

usingnamespace std;

intmain() {
// Xóa hai biến chuỗi
charchrData1[100],chrData2[100];

// Lấy dữ liệu chuỗi đầu tiên
Giá cả<<'Nhập chuỗi đầu tiên:';
gin.theo hàng(chrData1, 100);
// Lấy dữ liệu chuỗi thứ hai
Giá cả<<'Nhập chuỗi thứ hai:';
gin.theo hàng(chrData2, 100);

nếu như ( strcmp (chrData1,chrData2)==0)
printf ('Các chuỗi bằng nhau ');
khác
printf ('Các chuỗi không bằng nhau ');

return0;
}

Đầu ra:

Sau khi thực thi mã, giá trị chuỗi, ‘ xin chào ‘Được đưa ra cho cả hai giá trị đầu vào và kết quả đầu ra sau đây sẽ xuất hiện.

Phần kết luận:

Ba cách để so sánh các chuỗi trong C ++ đã được chỉ ra trong hướng dẫn này bằng cách sử dụng ba ví dụ đơn giản. Cả việc sử dụng toán tử so sánh và các hàm tích hợp để kiểm tra tính bình đẳng của các chuỗi đã được mô tả trong hướng dẫn này để giúp các lập trình viên C ++ mới.