Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม C

ความแตกต่างของ C/C++ ระหว่าง strncmp() และ strcmp


strncmp() และ strcmp เปรียบเทียบสองสตริงโดยใช้การเปรียบเทียบอักขระ ASCII strncmp รับพารามิเตอร์เพิ่มเติมหนึ่งพารามิเตอร์เป็นตัวเลขสำหรับอักขระที่ต้องการเปรียบเทียบสตริง มีประโยชน์มากราวกับว่าสตริงไม่ถูกต้อง จากนั้น strcmp จะไม่สามารถดำเนินการให้เสร็จสิ้นได้ strcmp ค้นหาอักขระสิ้นสุด ('/0') ที่ส่วนท้ายสตริงเพื่อสิ้นสุดการดำเนินการ strncmp ใช้หมายเลข ของตัวละครเพื่อยุติการดำเนินการและปลอดภัย

ตัวอย่าง

#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;
}

ผลลัพธ์

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