String Manipulation Functions
- prototype in string.h (a few also exist in stdlib.h) Conversion: char *strlwr( char *s ) char *strrev( char *s ) double strtod( const char *s, char **endptr ) long strtol( const char *s, char **endptr, int radix ) unsigned long strtoul( const char *s, char **endptr, int radix ) char *strupr( char *s ) char *strdup( const char *s ) Search: char *strchr( char *s, int c ) size_t strcspn( const char *s1, const char *s2 ) char *strpbrk( const char *s1, const char *s2 ) char *strrchr( const char *s, int c ) size_t strspn( const char *s1, const char *s2 ) char *strstr( const char *s1, const char *s2 ) char *strtok( char *s1, const char *s2 ) Comparison: int strcmp( const char *s1, const char *s2 ) int strcmpi( const char *s1, const char *s2 ) int stricmp( const char *s1, const char *s2 ) int strncmp( const char *s1, const char *s2, size_t maxlen ) int strncmpi( const char *s1, const char *s2, size_t maxlen ) int strnicmp( const char *s1, const char *s2, size_t maxlen ) Copy: char *stpcpy( char *dest, const char *src ) char *strcpy( char *dest, const char *src ) char *strcat( char *dest, const char *src ) char *strncat( char *dest, const char *src, size_t maxlen ) char *strncpy( char *dest, const char *src, size_t maxlen ) Miscellaneous: size_t strlen( const char *s ) char *strnset( char *s, int ch, size_t n ) char *strset( char *s, int ch ) char *strerror( int errnum ) char *_strerror( const char *s )