1. Introducción a strncmp ()
1. Prototipo de función
int strncmp(const char *str1, const char *str2, size_t n);
2. Parámetros
- str1 -La primera cadena que se va a comparar.
- str2 -La segunda cadena a comparar.
- n -el número máximo de caracteres para comparar.
3. Función
Se utiliza para comparar los primeros n caracteres de la cadena str1 y str2.
4. Archivos de encabezado
#include <string.h>
5. Valor devuelto
- De izquierda a derecha , compare n caracteres uno por uno según el valor del código ASCII , hasta que aparezcan caracteres diferentes o encuentren '\ 0', el valor de str1-str2 es el valor de retorno.
- Si el valor de retorno es <0, significa que str1 es menor que str2.
- Si el valor de retorno> 0, significa que str2 es menor que str1.
- Si el valor de retorno = 0, significa que str1 es igual a str2.
Dos, uso de strncmp ()
La función strncmp se usa para comparar cadenas.
El código específico es el siguiente:
#include <stdio.h>
#include <string.h>
int main(void)
{
char *a = "English";
char *b = "ENGLISH";
char *c = "english";
char *d = "English";
printf("strncmp(a, b):%d\n", strncmp(a, b, 7));//字符串之间的比较
printf("strncmp(a, c):%d\n", strncmp(a, c, 7));
printf("strncmp(a, d):%d\n", strncmp(a, d, 7));
printf("strncmp(a, \"English\"):%d\n", strncmp(a, "English", 7));
printf("strncmp(&a[2], \"g\"):%d\n", strncmp(&a[2], "g", 1)); //单个字符的比较
return 0;
}
Los resultados son los siguientes:
strncmp(a, b):32
strncmp(a, c):-32
strncmp(a, d):0
strncmp(a, "English"):0
strncmp(&a[2], "g"):0