Hàm strcmp() trong C / C++
Trong bài viết này chúng ta sẽ tìm hiểu về hàm strcmp() trong C / C++. Đây là một hàm được sử dụng để so sánh hai chuỗi.
Hàm strcmp() là hàm có sẵn trong thư viện cstring, vì vậy trước khi sử dụng nó các bạn cần khai báo thư viện đã nhé: #include<cstring>
Cú pháp hàm strcmp() trong C / C++
Hàm strcmp() được sử dụng để so sánh hai chuỗi, việc so sánh được thực hiện về mặt từ vựng.
Cú pháp:
Bài viết này được đăng tại [free tuts .net]
int strcmp( const char* lhs, const char* rhs );
Trong đó:
- lhs và rhs là hai chuỗi cần so sánh.
Hàm sẽ trả về một trong các trường hợp sau:
- Giá trị dương nếu ký tự khác biệt đầu tiên trong lhs lớn hơn ký tự tương ứng trong rhs.
- Giá trị âm nếu ký tự khác biệt đầu tiên trong lhs nhỏ hơn ký tự tương ứng trong rhs.
- Giá trị 0 nếu hai chuỗi bằng nhau về mặt từ vựng.
Cách dùng hàm strcmp() trong C / C++
Trong phần này mình sẽ thực hiện một ví dụ để mình họa cho hàm memchr() trong C++.
Cụ thể mình sẽ khai báo hai chuỗi với hai nội dung khác nhau. Sau đó gọi hàm strcmp() để so sánh và thông báo ra màn hình.
#include <iostream> #include <cstring> using namespace std; int main() { //khai báo hai biến lhs và rhs với hai nội dung cần so sánh char lhs[] = "Armstrong"; char rhs[] = "Army"; int result; //sử dụng hàm strcmp để so sánh hai chuỗi rồi gán kết quả cho biến result //*lưu ý: hàm strcmp sẽ trả về một số result = strcmp(lhs,rhs); //nếu hàm trả về số khác không tức là hai chuỗi khác nhau if(result != 0) cout<<lhs<< " và " << rhs <<" khác nhau"; //nếu hàm trả về = 0 thì hai chuỗi giống nhau else cout<<lhs<< " và " << rhs <<" giống nhau"; cout<<endl<<endl; //tương tự như vậy thử so sánh hai chuỗi giống nhau nhé result = strcmp(lhs,lhs); if(result != 0) cout<<lhs<< " và " << lhs <<" khác nhau"; else cout<<lhs<< " và " << lhs <<" giống nhau"; cout<<"\n-------------------------------\n"; cout<<"Chương trình này được đăng tại Freetuts.net"; }
Kết quả:
Như vậy là chúng ta đã tìm hiểu xong hàm strcmp() trong C / C++. Đây là một hàm được sử dụng khá nhiều trong các bài tâp về string, vì vậy hãy luyện tập thật nhiều để sử dụng nó thành thạo nhé. Chúc các bạn thành công !!!
Danh sách các hàm cstring
- Hàm memchr() trong C / C++
- Hàm memset() trong C / C++
- Hàm strcat() trong C / C++
- Hàm strchr() trong C / C++
- Hàm strcmp() trong C / C++
- Hàm memmove() trong C / C++
- Hàm strcpy() trong C / C++
- Hàm strlen() trong C / C++
- Hàm strncat() trong C / C++
- Hàm strncpy() trong C / C++
- Hàm strstr() trong C / C++