# string(3)

## NAME

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

## SYNOPSIS

         #include <sys/types.h>
         #include <strings.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 lexicographically 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 character 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  overlap between the two
         strings.  Both functions return s1.

         Memchr returns a pointer to the first occurrence of character 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.