引言
在C语言中对字符和字符串的处理很是频繁,但是C语言本身是没有字符串类型的。
函数介绍
strlen
size_t strlen ( const char * str );
size_t是无符号整型。
字符串是以’\0‘为结束条件,strlen函数返回的是’\0‘前面的字符个数。
参数指向的字符串必须要以
'\0' 结束。
#include <stdio.h>
int main()
{
const char*str1 = "abcdef";
const char*str2 = "hip";
if(strlen(str2)-strlen(str1)>0)
{
printf("str2>str1\n");
}
else
{
printf("srt1>str2\n");
}
return 0;
}
strcpy
char*
strcpy
(
char *
destination
,
const
char *
source
);
源字符串必须以
'\0'
结束。
会将源字符串中的
'\0'
拷贝到目标空间。
目标空间需要足够大,以确保能存放源字符串。
目标空间须可变。
字符串复制到另一字符串。
#include <stdio.h>
int main()
{
char str1[] = "abcdef";
char str2[] = "hip";
strcpy(str1,str2);
return 0;
}
strcat
char *
strcat
(
char *
destination
,
const
char *
source
);
源字符串必须以 '\0' 结束。
目标空间需要足够大,以确保能存放源字符串。
目标空间须可变。
字符串尾部追加。
#include <stdio.h>
int main()
{
char str1[] = "abcdef";
char str2[] = "hip";
strcat(str1,str2);
return 0;
}
strcmp
int
strcmp
(
const
char *
str1
,
const
char *
str2
);
第一个字符串大于第二个字符串,返回大于0的数字。
第一个字符串等于于第二个字符串,返回0;
第一个字符串小于第二个字符串,返回小于0的数字。
#include <stdio.h>
int main()
{
char str1[] = "abcdef";
char str2[] = "hip";
int cmp = strcmp(str1,str2);
if(cmp>0)
{
printf("str1>str2");
}
else if(cmp<0)
{
printf("str1<str2");
}
else
{
printf("str1=str2");
}
return 0;
}
结语
要使用字符串函数需要用到头文件#include<string.h>,在日常使用当中,要随着功能需求的不同,从而使用合适的函数。