NAME

     string, strcat, strncat, strcmp, strncmp,  strcpy,  strncpy,
     strlen,  strchr, strrchr, strerror, memcmp, memcpy, memmove,
     memchr, memset, index, rindex - string operations


SYNOPSIS

     #include <string.h>

     char *strcat(char *s1, const char *s2)
     char *strncat(char *s1, const char *s2, size_t n)
     int strcmp(const char *s1, const char *s2)
     int strncmp(const char *s1, const char *s2, size_t n)
     char *strcpy(char *s1, const char *s2)
     char *strncpy(char *s1, const char *s2, size_t n)
     size_t strlen(const char *s)
     char *strchr(const char *s, int c)
     char *strrchr(const char *s, int c)
     char *strerror(int errnum)
     int memcmp(const void *s1, const void *s2, size_t n)
     void *memcpy(void *s1, const void *s2, size_t n)
     void *memmove(void *s1, const void *s2, size_t n)
     void *memchr(const void *s, int c, size_t n)
     void *memset(void *s, int c, size_t n)
     char *index(const char *s, int c)
     char *rindex(const char *s, int c)


DESCRIPTION

     These functions operate on null-terminated strings.  They do
     not check for overflow of any receiving string.

     Strcat appends a copy of string s2 to the end of string  s1.
     Strncat  copies at most n characters.  Both return a pointer
     to the null-terminated result.

     Strcmp compares its arguments and returns an integer greater
     than,  equal  to, or less than 0, according as s1 is lexico-
     graphically  greater  than,  equal  to,  or  less  than  s2.
     Strncmp  makes  the  same  comparison but looks at at most n
     characters.

     Strcpy copies string s2 to s1, stopping after the null char-
     acter  has been moved.  Strncpy copies exactly n characters,
     truncating or null-padding s2; the target may not  be  null-
     terminated  if  the  length of s2 is n or more.  Both return
     s1.

     Strlen returns the number of non-null characters in s.

     Strchr (strrchr) returns  a  pointer  to  the  first  (last)
     occurrence of character c in string s, or null if c does not
     occur in the string.

     Strerror returns the error string for the system call  error
     errnum.  See intro(2).

     Memcmp is like strcmp except that  the  strings  are  memory
     blocks of length n.  Null characters are treated as ordinary
     characters.

     Memcpy copies n bytes from the location pointed to by s2  to
     s1.  Memmove is like memcpy, except that it can handle over-
     lap between the two strings.  Both functions return s1.

     Memchr returns a pointer to the first occurrence of  charac-
     ter  c  in  string  s,  or  null  if c does not occur in the
     string.

     Memset sets n bytes to c starting at location s.  It returns
     s.

     Index  and  rindex  are  obsolete  versions  of  strchr  and
     strrchr.  New code should avoid using them.


NOTES

     Characters are  compared  as  unsigned  char,  whether  char
     itself is signed or not.