Home > C / C++ > Các hàm C / C++ > Hàm strcmp() trong C / C++

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:

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ả:

strcmp 01 PNG

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 !!!

Bình luận đã đóng, nếu có thắc mắc hãy đặt câu hỏi tại hoicode.com để admin trả lời.

Nguồn: freetuts.net

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++

BÀI VIẾT

notice png LIST home png HOME hot gif BÁO
LỖI
top png TOP