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!