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!

更新於: 06-01-2020

260 次瀏覽

開啟你的職業生涯

透過完成課程獲得認證

開始吧
廣告
© . All rights reserved.