关于C语言库<string.h>的学习

在string.h 中包含了以下几个部分:

目录

1.strlen()

2.strcmp()

3.strcpy()

4.strchr()、strrchr()

1.strlen()

在这个函数中strlen中的len表示length,因此可见函数strlen的作用是输出()中含有多少个字符。

当然我们要保证strlen()括号中的东西是一个常量,不会因为我们引用了strlen而改变

#include<stdio.h>
#include<string.h>
int main()
{
char word[]="hello";
printf("strlen=%d",strlen(word));
printf("sizeof=%d",sizeof(word));

return 0;
}

这段代码说明了strlen不会将这段字符后面的 \0 给计算进去。

2.strcmp()

int strcmp(const char*s1,const char*s2);                        0 (s1==s2)

对于它的输出结果为:                                                                1   (s1>s2)

                                                                                                   -1   (s1<s2)

在这个函数中strcmp中的cmp表示compare,因此可见函数strcmp的作用是进行比较 ASCii 码,为了防止在比较的过程中对这两个量进行修改,同样和strlen一样,它所进行操作的对象也必须是一个常量。对于strcmp是一一比较,s1取一个s2也取一个,若相等则继续取,若不相等直接输出结果,而不去管后面是什么情况。

3.strcpy()

char * strcpy(char* restrict dst,const char *restrict src);

1.是将src的字符拷贝到dst上(因此src为const,而det则是一个变量)。

2.restrict表明src和dst不重叠。

这个函数的作用是将一个字符串里的内容(包括\0)拷贝到另一个字符串里。

#include<stdio.h>
#include<string.h>
int main(){
char arr1[] = "wxhwxd";
char arr2[] = "const";
strcpy(arr1, arr2);        \\前面的字符串被替换

printf("%s\n",arr1);
printf("%s\n",arr2);

return 0;
}

4.strchr()、strrchr()

char *strchr(const char*str,int c)

1.str是要被检索的C语言字符串,而c则是我们在str中要搜索的目标。

2.若要返回NULL表明没有找到。

#include<stdio.h>
#include<string.h>
int main()
{
//第一段代码 

const char *str = "nihao";            //和以上string函数一样,我们要保证在操作时不改变原字符串
//int c = 'h';
char *p = strchr(str, 'h');
printf("%s\n",p);

//又是一段代码 

/*
	char s[]="hello";                //因为数组是指针常量,所以我们不需要再加const
	char*p=strchr(s,'l');
	p=strchr(p+1,'l');
	printf("%s\n",p);
*/		return 0;        
 }     //可以尽行一系列的重组,让不同的表达形式输出相同的结果。

这两个符号都是搜索符号,其作用是在字符串里面找到我们所要找的那个字符及后续字符。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Eilic.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值