strverscmp(3) Library Functions Manual strverscmp(3) NOMBRE strverscmp - compara dos cadenas de version BIBLIOTECA Biblioteca Estandar C (libc, -lc) SINOPSIS #define _GNU_SOURCE /* Vea feature_test_macros(7) */ #include int strverscmp(const char *s1, const char *s2); DESCRIPCION For a dataset like jan1, jan2, ..., jan9, jan10, ... sorting it lexicographically yields jan1, jan10, ..., jan2, ..., jan9. The task of strverscmp() is to compare two strings yielding the former order, while strcmp(3) finds only the lexicographic order. This function does not use the locale category LC_COLLATE, so is meant mostly for situations where the strings are expected to be in ASCII. This is different from the ordering produced by sort(1) -V. Lo que hace esta funcion es lo siguiente. Si ambas cadenas son iguales, devuelve 0. En otro caso encuentra la posicion entre dos bytes con la propiedad de que antes de esta posicion ambas cadenas son iguales, mientras que justamente despues hay una diferencia. Encuentra las cadenas de digitos consecutivos mas largas que contienen (o comienzan o terminan en) esta posicion. Si una o ambas estan vacias, devuelve lo que strcmp hubiera devuelto (ordenamiento numerico de los valores de byte). En otro caso, compara ambas cadenas de digitos numericamente, donde las cadenas de digitos con uno o mas ceros al principio son interpretadas como si tuvieran un punto decimal delante (asi que las cadenas de digitos con mas ceros al principio aparecen antes que aquellas cadenas de digitos con menos ceros al principio). Asi, el ordenamiento es 000, 00, 01, 010, 09, 0, 1, 9, 10. VALOR DEVUELTO La funcion strverscmp() devuelve un entero menor que, igual a, o mayor que cero si s1 es, respectivamente, anterior, igual, o posterior a s2. ATRIBUTOS Para obtener una explicacion de los terminos usados en esta seccion, vease attributes(7). +-----------------------------+--------------------+-------------------+ |Interfaz | Atributo | Valor | +-----------------------------+--------------------+-------------------+ |strverscmp() | Seguridad del hilo | Multi-hilo seguro | +-----------------------------+--------------------+-------------------+ ESTANDARES GNU. EJEMPLOS The program below can be used to demonstrate the behavior of strverscmp(). It uses strverscmp() to compare the two strings given as its command-line arguments. An example of its use is the following: $ ./a.out jan1 jan10; jan1 < jan10 Codigo fuente #define _GNU_SOURCE #include #include #include int main(int argc, char *argv[]) { int res; if (argc != 3) { fprintf(stderr, "Usage: %s \n", argv[0]); exit(EXIT_FAILURE); } res = strverscmp(argv[1], argv[2]); printf("%s %s %s\n", argv[1], (res < 0) ? "<" : (res == 0) ? "==" : ">", argv[2]); exit(EXIT_SUCCESS); } VEASE TAMBIEN rename(1), strcasecmp(3), strcmp(3), strcoll(3) TRADUCCION La traduccion al espanol de esta pagina del manual fue creada por Miguel Perez Ibars Esta traduccion es documentacion libre; lea la GNU General Public License Version 3 o posterior con respecto a las condiciones de copyright. No existe NINGUNA RESPONSABILIDAD. Si encuentra algun error en la traduccion de esta pagina del manual, envie un correo electronico a . Paginas de Manual de Linux 6.15 17 Mayo 2025 strverscmp(3)