strlen
size_t strlen(const char* str)
strlen是求字符串的长度,也就是求字符串中\0之前字符出现的个数,需要特别注意的是该函数的返回值是无符号的。
1.计数法
2.指针减指针法
首先,我们要明白指针减指针的意义是:表示指针之间的元素个数。
3.函数递归法
strcpy
char *strcpy(char *dest,const char *sou);
该函数的第一个参数为需要拷贝到目标字符数组的首元素地址,第二个参数为源字符数组的首元素地址。
目标字符数组的空间必须要比源字符数组空间大,否则会出现程序错误。
拷贝的内容为将源字符数组\0之前以及\0自身拷贝到目标字符数组中。
返回的参数为目标字符数组的首元素。
代码简化:
strcat
char * strcat ( char * head, const char * tail);
将参数二所指向的字符串追加到参数一所指向的字符串尾后。
strcmp
int strcmp ( const char*e1,const char*e2);
如果两个字符串相同则返回0。
如果e1指向的字符串大于e2指向的字符串,则返回大于0的数字。
如果e1指向的字符串小于e2指向的字符串,则返回小于0的数字。
比较的原理是对字符串中的字符依次一个个比较,如果当前比较的字符相同,在同时进行下一个字符比较,当出现两个对应的字符不同,则根据比较两个字符大小,进行返回。
strstr
char*strstr(const char*str1,const char*str2);
函数用于判断字符串str2是否是str1的子串。
如果str2不是str1的子串,则返回空指针(NULL)。
如果str2是str1的子串,则返回str1与str2开始吻合的地址。
例:
最后,还有一些经常使用字符函数:
1,strncpy
2,strncat
3,strncmp
4,strerror
5,strtok