库函数中的字符串函数介绍与实现
c语言库函数有着许多的类型的函数,下面我们简单介绍其中几个字符串函数;
以下几个函数是长度不受限制的函数
strcpy----“字符串拷贝”
函数返回类型为char*,形参1类型为char*,形参2类型为const char *;使用需引用头文件 < string.h >
函数作用为 把源字符串(strSource )的内容拷贝到目标空间(strDestination)里,在使用是需注意几点事情:
- 源字符串以‘\0’结束;
- 会将源字符串中的’\0’一并拷贝到目标空间里;
- 目标空间必须足够大且可修改,保证能存放源字符串;
函数自定义实现
strcat----“字符串追加”
函数返回类型为char*,形参1类型为char*,形参2类型为const char *;使用需引用头文件 < string.h >
函数作用为把源字符串内容追加到到目标字符串上,位置为目标字符串结束位置,完成后会自动添加’\0’;使用需注意:
- 字符串需以’\0’结束;
- 目标空间要足够大,且可修改,确保可以存放源字符串;
函数自定义实现:
strcmp----“字符串比较”
函数返回类型为int,形参1类型为const char*,形参2类型为const char*,头文件 < string.h > ;
函数作用为比较两个字符串大小( 是比较内容,不是长度)
- 字符串1小于字符串2则返回一个小于0的值
- 字符串1等于字符串2则返回一个0
- 字符串1大于字符串2则返回一个大于0的值
返回的值除了相等是0,其余情况下返回的值并不固定,而是取决于比较的两个字符的ASCII值
函数自定义实现:
上面这几个函数都不会受到长度的限制,基本只认’\0’,那接下来就介绍几个受长度限制的字符串函数。
下面是长度受限制的几个字符串函数
strncpy----“拷贝指定的字符个数”
函数的返回类型为char*,形参1类型为char ,形参2类型为const char,形参3类型为size_t(无符号整型),使用时需引头文件< string.h>;
函数作用为拷贝源字符串中指定的字符个数,注意事项:
- 确保目标空间足够且可修改
- 源字符串需以’\0’结束
- 当源字符串字符个数小于指定拷贝的字符个数是,会按‘\0’补齐拷贝字符个数
函数自定义实现
strncat----”追加指定的字符个数“
函数返回类型为char*,形参1类型为char*,形参2类型为const char*,形参3类型为size_t,头文件为<string.h>;
函数作用为将源字符串内容中的指定个数追加到目标字符串上,追加位置为目标字符串’\0’位置,追加结束会补上’\0’。需注意:
- 目标空间足够且可修改
- 字符串以’\0’结束
- 只有源字符串长度大于或等于指定个数时,才能确保将源字符串的指定字符个数追加到目标字符串上,否则只会将源字符串包括’\0’的内容追加到目标字符串上,并结束工作;
函数自定义实现:
strncmp----“比较指定的字符个数”
函数返回类型为int,形参1类型为const char*,形参2类型为const char*,形参3类型为size_t,头文件为<string,h>;
函数作用为比较两个字符串大小( 是比较内容,不是长度)
strncmp函数同strcmp函数区别在于可指定比较的字符个数;
函数自定义实现:
就先介绍到这里了,函数的使用应视情况而定,不能一概而论。任何函数都不是完美的,都有着局限性,所以才会有第二个函数,第三个函数,第n个函数;