相信很多小伙伴在学习C语言字符串的时候会碰见strcpm,strcpy,strlen等等一系列由string.h库函数所提供的函数,今天我为大家介绍一下这些函数的用处。
求字符串的长度
strlen
size_t strle(const char *str);
strlen求字符串的长度,以'\0'作为结束标志,strlen函数返回的是在字符串中'\0'前面出现的字符个数,不包含'\0'的哦。
举个两个例子:
char ch[ ]="abcdefg";
int sz=strlen(ch);
sz=7;
但是如果使用大括号进行声明的话需要手动输入'\0'。
如
char ch[ ]={'a','b','c','d','f','\0'};
int sz =strlen(ch);
sz=5;
如果不手动输入'\0'的话,sz得到的将是一个随机值哦!
最后如果在定义数组的时候确定了数组范围,如:
char ch[10]={'a','b','c','d','f'};
那么长度为5,因为在定义数组大小后,没有被赋值的数组成员将默认为'\0',所以能够准确的得到数组长度哦。
可以使用计数器,递归,指针减指针进行实现strlen函数。
长度不受限制的字符串函数
strcpy:字符串拷贝
char* strcpy(char* dest, const char* src);
源字符串必须以'\0'结束。
会将源字符串中的'\0'打印过去。
目标空间必须足够大,以确保能够保存源字符串内容。
目标空间必须可变。
strcat
char *strcat(char *dest, const char *src)
从目标最后的\0开始打印过去。
目标空d间必须足够大,以确保能够保存源字符串内容
目标空间必须可变
strcmp
int strcmp(const char *str1, const char *str2)
长度受限制的字符串函数介绍
strncpy
strncat
strncmp
这三个函数是可以通过自己设置大小来进行实现。
字符串查找
strstr
char *strstr(const char *haystack, const char *needle)