Provided by:
manpages-es_1.55-10_all 
NOMBRE
strverscmp - compara dos cadenas de version
SINOPSIS
#define _GNU_SOURCE
#include <string.h>
int strverscmp(const char *s1, const char *s2);
DESCRIPCI'ON
A menudo se dispone de los ficheros jan1, jan2, ..., jan9, jan10, ...
y parece incorrecto cuando ls los ordena como jan1, jan10, ..., jan2,
..., jan9. Para solucionar esto, GNU introdujo la opcion -v a ls(1),
que es implementada usando versionsort(3), que a su vez utiliza
strverscmp.
De esta manera, la tarea de strverscmp es comparar dos cadenas y
encontrar el orden "correcto", mientras que strcmp solamente encuentra
el orden lexicografico. Esta funcion no usa la categoria de
localizacion LC_COLLATE, por lo que se utiliza sobre todo en
situaciones donde se espera que las cadenas esten en formato ASCII.
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.
CONFORME A
Esta funcion es una extension de GNU.
V'EASE TAMBI'EN
rename(1), strcasecmp(3), strcmp(3), strcoll(3)