Computer >> Máy Tính >  >> Lập trình >> lập trình C

Sự khác biệt giữa C / C ++ giữa strncmp () và strcmp.

strncmp () và strcmp so sánh hai chuỗi bằng cách sử dụng so sánh ký tự ASCII. strncmp nhận một tham số bổ sung dưới dạng số cho các ký tự tối đa mà một chuỗi sẽ được so sánh. Nó rất hữu ích vì nếu một chuỗi không hợp lệ, thì strcmp sẽ không thể hoàn thành hoạt động của nó. strcmp tìm kiếm ký tự kết thúc ('/ 0') ở cuối chuỗi để kết thúc hoạt động của nó. strncmp sử dụng không. ký tự để kết thúc hoạt động của nó và do đó an toàn.

Ví dụ

#include <stdio.h>
int main() {
   char str1[] = "TutorialsPoint";
   char str2[] = "Tutorials";
   // Compare strings with strncmp()
   int result1 = strncmp(str1, str2, 9);
   if(result1 == 0){
      printf("str1 == str2 upto 9 characters!\n");
   }
   // Compare strings using strcmp()
   int result2 = strcmp(str1, str2);
   if(result2 == 0){
      printf("str1 == str2!\n");
   } else {
      if(result2 > 0){
         printf("str1 > str2!\n");
      } else {
         printf("str1 < str2!\n");
      }
   }
   return 0;
}

Đầu ra

str1 == str2 upto 9 characters!
str1 > str2!