strverscmp(3) - phpMan

Command: man perldoc info search(apropos)  

STRVERSCMP(3)                       Linux Programmer's Manual                       STRVERSCMP(3)

       strverscmp - compare two version strings

       #define _GNU_SOURCE         /* See feature_test_macros(7) */
       #include <string.h>

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

       Often  one  has  files  jan1,  jan2,  ..., jan9, jan10, ...  and it feels wrong when ls(1)
       orders them jan1, jan10, ..., jan2, ..., jan9.  In order to rectify this,  GNU  introduced
       the  -v  option  to  ls(1),  which  is  implemented using versionsort(3), which again uses

       Thus, the task of strverscmp() is to compare two strings and find the "right" order, while
       strcmp(3) finds only the lexicographic order.  This function does not use the locale cate-
       gory LC_COLLATE, so is meant mostly for situations where the strings are expected to be in

       What this function does is the following.  If both strings are equal, return 0.  Otherwise
       find the position between two bytes with the property that  before  it  both  strings  are
       equal,  while directly after it there is a difference.  Find the largest consecutive digit
       strings containing (or starting at, or ending at) this position.  If one or both of  these
       is  empty, then return what strcmp(3) would have returned (numerical ordering of byte val-
       ues).  Otherwise, compare both digit strings numerically, where digit strings with one  or
       more  leading  zeros  are interpreted as if they have a decimal point in front (so that in
       particular digit strings with more leading zeros come  before  digit  strings  with  fewer
       leading zeros).  Thus, the ordering is 000, 00, 01, 010, 09, 0, 1, 9, 10.

       The  strverscmp() function returns an integer less than, equal to, or greater than zero if
       s1 is found, respectively, to be earlier than, equal to, or later than s2.

       This function is a GNU extension.

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

       This page is part of release 3.53 of the Linux man-pages project.  A  description  of  the
       project,     and    information    about    reporting    bugs,    can    be    found    at

GNU                                         2001-12-19                              STRVERSCMP(3)

Generated by $Id: phpMan.php,v 4.55 2007/09/05 04:42:51 chedong Exp $ Author: Che Dong
On Apache
Under GNU General Public License
2018-03-24 00:19 @ CrawledBy CCBot/2.0 (
Valid XHTML 1.0!Valid CSS!