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 )