Loading

NOM

       strverscmp - Comparaison de chaînes de version.

SYNOPSIS

       #define _GNU_SOURCE
       #include <string.h>

       int strverscmp(const char *s1, const char *s2);

       On  a  souvent des fichiers jan1, jan2, ..., jan9, jan10, ... et il est
       malvenu que ls(1) les classe dans l’ordre jan1, jan10, ..., jan2,  ...,
       jan9.  Afin  de  remédier  à ceci, GNU a introduit l’option -v à ls(1),
       option implémentée en utilisant versionsort(3),  qui  utilise  lui-même
       strverscmp().

       Ainsi,  la  tâche de strverscmp() consiste à comparer deux chaînes et à
       déterminer le « bon » ordre, alors que  strcmp(3)  détermine  seulement
       l’ordre  lexicographique.  Cette fonction n’utilise pas la catégorie de
       localisation LC_COLLATE, elle vise donc principalement  les  situations
       dans lesquelles les chaînes sont supposées être en ASCII.

       Cette fonction travaille comme détaillé ci-dessous. Si les deux chaînes
       sont égales, elle renvoie 0. Sinon, elle recherche une  position  entre
       deux  octets  ayant  la  propriété suivante : avant cette position, les
       deux  chaînes  sont  égales,  alors   qu’immédiatement   après,   elles
       diffèrent.  Elle  détermine  alors les plus longues chaînes de chiffres
       consécutifs contenant (ou  commençant  à,  ou  se  finissant  à)  cette
       position.  Si  l’une  des  chaînes ou bien les deux chaînes sont vides,
       alors elles renvoient  ce  que  strcmp(3)  aurait  renvoyé  (classement
       numérique  des valeurs d’octets). Sinon, elle compare numériquement les
       deux chaînes de chiffres, où les chaînes de chiffres commençant par  un
       ou  plusieurs zéro sont interprétées comme si elles avaient une virgule
       en en-tête (de telle sorte que les chaînes  de  chiffres  particulières
       commençant par davantage de zéro viennent avant les chaînes de chiffres
       avec moins de zéro en en-tête). Ainsi, le classement est 000,  00,  01,
       010, 09, 0, 1, 9, 10.

VALEUR RENVOYÉE

       La fonction strverscmp() renvoie un entier inférieur, égal ou supérieur
       à zéro si s1 est déterminée comme  étant  respectivement  plus  récente
       que, égale à, ou postérieure à s2.

CONFORMITÉ

       Cette fonction est une extension GNU.

VOIR AUSSI

       rename(1), strcasecmp(3), strcmp(3), strcoll(3), feature_test_macros(7)

COLOPHON

       Cette page fait partie de  la  publication  3.23  du  projet  man-pages
       Linux.  Une description du projet et des instructions pour signaler des
       anomalies      peuvent      être       trouvées       à       l’adresse
       http://www.kernel.org/doc/man-pages/.

TRADUCTION

       Cette  page  de  manuel  a  été traduite par Stéphan Rafin <stephan DOT
       rafin AT laposte DOT net> en 2002, puis a été mise  à  jour  par  Alain
       Portal  <aportal  AT  univ-montp2  DOT  fr>  jusqu’en  2006,  et mise à
       disposition sur http://manpagesfr.free.fr/.

       Les mises à jour et corrections de la version présente dans Debian sont
       directement         gérées         par         Nicolas         François
       <nicolas.francois@centraliens.net>   et   l’équipe    francophone    de
       traduction de Debian.

       Veuillez   signaler   toute   erreur   de   traduction  en  écrivant  à
       <debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
       paquet manpages-fr.

       Vous  pouvez  toujours avoir accès à la version anglaise de ce document
       en utilisant la commande « man -L C <section> <page_de_man> ».