02/09/2018, 22:08

Hàm strncmp() trong C

Hàm int strncmp(const char *str1, const char *str2, size_t n) so sánh n byte đầu tiên của str1 và str2. Khai báo hàm strncmp() trong C Dưới đây là phần khai báo cho strncmp() trong C: int strncmp ( const char * str1 , const char * str2 ...

Hàm int strncmp(const char *str1, const char *str2, size_t n) so sánh n byte đầu tiên của str1 và str2.

Khai báo hàm strncmp() trong C

Dưới đây là phần khai báo cho strncmp() trong C:

int strncmp(const char *str1, const char *str2, size_t n)

Tham số

str1 -- Đây là chuỗi đầu tiên để được so sánh.

str2 -- Đây là chuỗi thứ hai để được so sánh.

n -- Số ký tự tối đa để được so sánh.

Trả về giá trị

Hàm này trả về các giá trị sau:

Nếu giá trị trả về < 0 thì hàm này chỉ rằng str1 là ngắn hơn str2.

Nếu giá trị trả về > 0 thì hàm này chỉ rằng str2 là ngắn hơn str1.

Nếu giá trị trả về = 0 thì hàm này chỉ rằng str1 là bằng str2.

Ví dụ

Chương trình C sau minh họa cách sử dụng của strncmp() trong C:

#include <stdio.h>
#include <string.h>

int main ()
{
   char str1[15];
   char str2[15];
   int ret;

   strcpy(str1, "abcdef");
   strcpy(str2, "ABCDEF");

   ret = strncmp(str1, str2, 4);

   if(ret < 0)
   {
      printf("Chuoi str1 la ngan hon chuoi str2");
   }
   else if(ret > 0) 
   {
      printf("Chuoi str2 la ngan hon chuoi str1");
   }
   else 
   {
      printf("Chuoi str1 la bang chuoi str2");
   }
   
   return(0);
}

Biên dịch và chạy chương trình C trên sẽ cho kết quả:

Biên dịch và chạy chương trình C trên sẽ cho kết quả

Theo Tutorialspoint

Bài trước: Hàm strcmp() trong C

Bài tiếp: Hàm strcoll() trong C

0