字符串函数探幽
字符串函数位于头文件 string.h
中,该文件包含字符串常用函数:strlen()、strcat()、strcmp()、strncmp()、strcpy()、strncpy()和sprintf()函数。
1、strlen()函数
1、用于得到字符串的长度。
函数原型 size_t __cdecl strlen(const char *_Str);
,函数接收一个字符串的首地址。
2、strlen()函数遇到'\0’
字符结束,即计算‘\0’
之前的字符个数。
#include<stdio.h>
#include<string.h>
int main(){
char string[]="Hello World!";
printf("字符串长度:%d",strlen(string)); //输出12
*(string+6) = '\0';
printf("\n中间添加空字符:%d",strlen(string)); //输出6
return 0;
}
2、strcat()、strncat()函数
1、strcat()(代表 string concatenation)函数接收两个字符串参数。它将第二个字符串的一份拷贝添加到第一个字符串的结尾,从而使第一个字符串橙味一个新的组合字符串,第二个字符串并没有改变。这个函数返回它的第一个参数的值。
函数原型 char * __cdecl strcat(char * __restrict__ _Dest,const char * __restrict__ _Source);
,函数接收两个参数,分别是目标字符串的首地址和原字符串的首地址,其中原字符串首地址应以const
类型传入。
2、strcat()函数并不检查第一个数组是否能够容纳第二个字符串。如果没有为第一个数组分配足够大的空间,多出来的字符溢出到相邻存储单元时就会出现问题。
3、strncat()函数需要另一个参数来指明最多允许添加的字符的数目。
函数原型 char *__cdecl strncat(char * __restrict__ _Dest,const char * __restrict__ _Source,size_t _Count) __MINGW_ATTRIB_DEPRECATED_SEC_WARN;
,函数接收三个参数,前两个参数和strcat()
函数的参数相同,第三个参数指定最多允许添加的字符的数目_Count
。
4、函数在添加到_Count数目字符或遇到空字符停止,由二者中先符合的那一个来终止添加过程。_Dest数组应该足够大,以存放原始字符串,添加的最多_Count个字符和结束的空字符。
#include<stdio.h>
#include<string.h>
int main(){
const char * const string="Hello World!";
char dest1[100]="I'm Duary, ";
char dest2[