前言
学习处理字符和字符串的库函数的使用和注意事项
1.字符串函数
1.strlen
size_t strlen ( const char * str );
注意:
使用举例:
模拟实现:
2.strcpy
char * strcpy ( char * destination, const char * source );
注意:
1.源字符串必须以 '\0' 结束(遇到‘\0’结束拷贝)。
2.会将源字符串中的 '\0' 拷贝到目标空间。
使用举例:
模拟实现:
3. strcat
char * strcat ( char * destination, const char * source );
注意:
使用举例:
通过调试来看,此函数从目标函数的‘\0’开始追加,追加到来源函数的‘\0’。
模拟实现:
4.strcmp
注意:
使用实例:
模拟实现:
5.strstr
返回一个指向str1中第一次出现的str2的指针,或者如果str2不是str1的一部分,则返回一个空指针。
使用实例:
模拟实现:
6.strtok
char * strtok ( char * str, const char * delimiters );
注意:
使用实例:
7.strerror
返回错误码,所对应的错误信息。
使用实例:
8.strncpy、strncat 、strncmp
这三个函数与前面介绍的函数有些相似,只是多了一个参数,这个参数决定了访问的字符数。
直接上使用实例:
2.字符函数
1.memcpy
void * memcpy ( void * destination, const void * source, size_t num );
注意:
使用实例:
模拟实现:
但是这样的实现方式是无法实现source和destination有任何的重叠的情况的。这个时候就用到了memmove。
2.memmove
void * memmove ( void * destination, const void * source, size_t num );
注意:
使用的情况基本和memcpy差不多,我们直接模拟实现:
3.memcmp
使用实例 :
3.一些字符分类函数
int tolower(int c);
int toupper(int c);