strncmp() 和 strcmp 之间的 C/C++ 差异。

cc++server side programmingprogramming更新于 2024/9/8 1:27:00

strncmp() 和 strcmp 使用 ASCII 字符比较来比较两个字符串。strncmp 需要一个附加参数作为字符串要比较的字符数。它非常有用,因为如果字符串无效,则 strcmp 将无法完成其操作。strcmp 在字符串末尾搜索结束字符 ('/0') 以完成其操作。strncmp 使用字符数来结束其操作,因此是安全的。

示例

#include <stdio.h>
int main() {
   char str1[] = "TutorialsPoint";
   char str2[] = "Tutorials";
   // 使用 strncmp() 比较字符串
   int result1 = strncmp(str1, str2, 9);
   if(result1 == 0){
      printf("str1 == str2 upto 9 characters!\n");
   }
   // 使用 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!

相关文章