STRING(3)

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 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.