strcmp() 比较函数
返回值:
=0说明相等
>0 前者大于后者
<0 前者小
使用:printf(“%d”,strcmp(“ab”,”cd”));
结果:返回值为-1,因为a<c
strncmy() 比较函数
使用:printf(“%d”,strncmp(“abcd”,”cd”,2));
含义为将两个字符串中前2个字符进行比较
结果:返回值为-1,因为a<c
strcat() 链接函数
使用:buffer[10]=“a”;
strcat(buffer,”b”);
含义为将b链接到a后面,buffer的数组长度一定要大于2
结果:ab
strlen()求大小函数
使用:
strlen(”b\0a”);
不会将”\0”计算入内,遇到”\0”统计结束
结果:1
strcpy()拷贝函数
使用:
buffer[10]=“a”;
strcpy(buffer,”b”);
含义为将b拷贝到buffer中,buffer的数组长度一定要大于1,会覆盖原来数组的内容
结果:b
strncpy()拷贝函数
使用:
buffer[10]=“a”;
strcpy(buffer,”bcd”,1);
含义为将字符串bcd中第一个b拷贝到buffer中,buffer的数组长度一定要大于1,会覆盖原来数组的内容
结果:b
补充:
1.scanf可以用作字符串输入,以%s形式输入。同样的功能还有gets_s(),也是从键盘获取字符串,
eg: char buffer[128]={0};//初始化
gets_s(buffer);//从键盘输入”hello”
printf(“%s”,buffer); //输出结果为hello
对于字符串的操作,gets_s()的使用比scanf()要多。
两者也有如下区别,
(1)截取方式不同:
gets_s截取字符串是通过行。
scanf截取字符串是通过空格或者\n
例如从键盘输入“hello world!”。
通过gets_s()进行输入,输出的结果为“hello world!”。
而通过scanf()进行输入,输出的结果为“hello”。
(2)scanf通过回车(\n)将输入数据传递给缓冲区,然而有个bug:\n留在了缓冲区中等待被读取,而gets_s会将输入缓冲区中的\n替换成字符‘\0’。。。。。哎哟这是啥意思反正也不考不管了
2.puts()的功能与printf()功能类似,用于输出打印字符串。
3.获取字符操作 用%c;字符串 %s
4.在文件中,fgets()的功能类比于fwrite,是输入字符;fputs()类比于fread是读取字符
5.putchar() 、getchar()获取char类型变量,eg: char c=getchar(); putchar(c);