目录
以下这一系列函数都是与字符串有关的函数,所以头文件都是<string.h>
strlen函数
这个函数是用来统计字符串的字符个数的,统计范围到'\0'为之,不包过'\0'
返回值:size_t,为无符号整型
参数:const char* string,传入的参数是想要统计的字符串的地址
strcpy函数
这个函数将str位置的字符串拷贝到strdest中去,并且返回strdest的地址,拷贝以str的'\0'为结束标志,会将'\0'拷贝过去
返回值:char*,返回的是strdest的地址
参数:参数1为char*strdest传入的是接收字符串的地址
参数2为char*str传入的是输出字符串的地址
strncpy函数
和上述差不多,区别是多了个参数 count,可以控制传入多少个字符,传入后不会将后面那个字符变成'\0',只传入了count个字符
返回值:char*,返回的是strdest的地址
参数:参数1为char*strdest传入的是接收字符串的地址
参数2为char*str传入的是输出字符串的地址
参数3为size_t类型,输入想要拷贝多少个字符过去
strcat函数
这个函数将str地址指向的字符串,从strdest的'\0'结尾处开始拷贝,拷贝到以'\0'结尾处,并且'\0'也会被拷贝进去
返回值:char*,返回值是strdest的地址
参数:参数1为char*strdest,是接收拷贝的地址
参数2为char*str,是提供字符串的地址
strncat函数
和上述差不多,区别是多了个参数 count,可以控制传入多少个字符,传入后会将后面那个字符变成'\0',相当于修改了count+1个字符
返回值:char*,返回的是strdest的地址
参数:参数1为char*strdest,是接收拷贝的地址
参数2为char*str,是提供字符串的地址
参数3为size_t类型,输入想要拷贝多少个字符过去
strcmp函数
比较str1和str2字符串的字典序
词典序:
返回值:int,如果str1<str2,返回小于0的数字,如果str1==str2,返回0,如果str1>str2,返回>0的数字
参数:参数1为char*,输入比较字符串的地址str1
参数2位cahr*,输入比较字符串的地址str2
strncmp函数
比较str1和str2字符串的字典序,区别是可以控制想要比较的字符串的个数
返回值:int,如果str1<str2,返回小于0的数字,如果str1==str2,返回0,如果str1>str2,返回>0的数字
参数:参数1为char*,输入比较字符串的地址str1
参数2为char*,输入比较字符串的地址str2
参数2为size_t,输入想要比较字符串的个数
strstr函数
在str里面查找strcharset的字符串,如果找到了,返回从str找到字符串首元素的地址,如果没有找到返回NULL
返回值:char*,返回从str中从找到开始首元素的地址,如果没有找到则返回NULL
参数:参数1为const char*,输入被查找字符串的地址
参数2为const char*,输入想要查找的字符串的地址
strtok函数
将字符串通过指定的strdelimit进行分段,将指定的分隔符变成'\0'
注:此函数会修改传入的字符串
返回值:char*,返回找到的strdelimit标记的首元素的地址,当找完后返回NULL
参数:参数1为char*,输入想要被分段的字符串
参数2为const char*,输入想要以什么形式分段字符串的符号的地址,假如参数2为NULL,那么将从上个将分隔符变成'\0'的位置,继续往后找进行切割
strerror函数
获取系统的错误信息
返回值:char*,将错误信息的首字符的地址返回
参数:int类型,接受错误信息的数字
使用:
#include<stdio.h>
#include<errno.h>//需要引用头文件,来使用errno这个全局变量
//errno是用来接收错误数字的,如果程序出错,那么errno的值就会改变
注:errno在下一次出错时候会更新为新的值
#include<string.h>
int main()
{
printf("%s\n", strerror(errno));//打印出来No error,因为这个程序没有错误
return 0;
}