strncmp() und strcmp verwenden den ASCII-Zeichenvergleich, um zwei Zeichenfolgen zu vergleichen. strncmp benötigt ein zusätzliches Argument als Anzahl der Zeichen, die mit der Zeichenfolge verglichen werden sollen. Dies ist nützlich, da strcmp seinen Vorgang nicht abschließen kann, wenn die Zeichenfolge ungültig ist. strcmp sucht nach einem Abschlusszeichen ('/0') am Ende der Zeichenfolge, um den Vorgang abzuschließen. strncmp verwendet Nr. Zeichen, um den Betrieb zu beenden, und ist daher sicher.
#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!
Das obige ist der detaillierte Inhalt vonC/C++-Unterschied zwischen strncmp() und strcmp(). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!