字符串操作的相关库函数大集结
<1>strlen
size_t strlen ( const char * str );
功能:返回字符串中‘\0’前面出现的字符的个数,但不包含‘\0’。返回值为 size_t (无符号)
<2>strcpy
char* strcpy(char * destination, const char * source);
功能:从源字符串向目标字符串拷贝,源字符串必须以‘\0’结束,目标空间必须足够大。
<3>strcat
char * strcat ( char * destination, const char * source );
功能:字符串拼接,将源字符串中的内容追加在目标字符串后,目标字符串结尾的‘\0’会被覆盖,源字符串结尾的‘\0’会被一起追加,目标字符串的空间要足够大。
<4>strcmp
int strcmp ( const char * str1, const char * str2 );
功能:比较两个字符串的大小,前者 > 后者,返回大于0的数;前者 < 后者,返回小于0的数;前者 = 后者,返回值等于0。
<5>strncpy
char * strncpy ( char * destination, const char * source, size_t num );
功能:拷贝源字符串中的 num 个字符到目标字符串中,如果源字符串额长度小于 num ,则拷贝完之后,在目标字符串的后边追加0,直到num个。
注:不自动添加‘\0’
<6>strncat
char * strncat ( char * destination, const char * source, size_t num );
功能:从源字符串的开头拷贝 num 个字符到目标字符串的尾部, 目标字符串要有足够大的空间,如果 num>strlen(src) ,则只会将源字符串中的内容追加到 目标字符串之后。
dest 字符串后的‘\0’会被覆盖,追加完成后,再追加‘\0’
<7>strncpy
int strncmp ( const char * str1, const char * str2, size_t num );
功能:与strcmp功能相似,用于比较指定大小的内容
<8>strstr
char * strstr ( const char *str1, const char *str2 );
功能: strstr返回一个指针,指向string2在string1中首次出现的位置。
<9>strtok
char * strtok ( char * str, const char * sep );
功能:sep参数是个字符串,定义了用作分隔符的字符集合。分解字符串。
<10>strerror
char * strerror ( int errnum );
功能:返回错误码信息。
<11>memcpy
void * memcpy ( void * destination, const void * source, size_t num );
功能:函数memcpy从source的位置开始向后复制num个字节的数据到destination的内存位置,在遇到 '\0' 的时候并不会停下来,如果source和destination有任何的重叠,复制的结果都是未定义的。
<12>memmove
void * memmove ( void * destination, const void * source, size_t num );
功能:和memcpy的差别就是memmove函数处理的源内存块和目标内存块是可以重叠的。如果源空间和目标空间出现重叠,就得使用memmove函数处理。
<13>memcmp
int memcmp ( const void * ptr1, const void * ptr2, size_t num );
功能:比较从ptr1和ptr2指针开始的num个字节