当前位置:网站首页>PZK学C语言之字符串函数(一)
PZK学C语言之字符串函数(一)
2022-08-04 22:58:00 【未来Linux驱动工程师PZK】
一、字符串函数:
1.字符串比较函数 strcmp
函数原型:int strcmp(const char *s1, const char *s2);
作 用: 比较s1和s2字符串是否相同
参 数:s1是需要比较的第一个字符串
s2是需要比较的第二个字符串
返 回: 0 如果两个字符串相同
<0 第一个字符串小于第二个字符串
>0 第一个字符串大于第二个字符串
比较的是第一个不相同字符的ascii的值的差。
#include <stdio.h>
#include <string.h>
#include <strings.h>
int main()
{
char str1[20];//定义字符串
char str2[20];
int temp;
printf("请输入两个字符串\n");
gets(str1);//从键盘获取输入的字符串
gets(str2);
temp = strcmp(str1,str2);//获取strcmp的返回值
printf("%d",temp);
return 0;
}
2.得到字符串长度 strlen
函数原型: size_t strlen(const char *s);
作用: 得到字符串的有效长度
参数: 需要获取长度的字符串内容
返回: s字符串的有效长度
#include <stdio.h>
#include <string.h>
#include <strings.h>
int main()
{
char str1[20];//定义字符串
int temp;
printf("请输入字符串\n");
gets(str1);//获取输入
temp = strlen(str1);//strlen的返回值是返回字符串的有效长度,不包括\0;
printf("%d",temp);
return 0;
}
3.字符串追加 strcat
函数原型:char *strcat(char *dest, const char *src);
作用:把src字符串拼接到dest字符串后面
参数: src源字符串,需要拼接到dest后的字符串
dest目的字符串,需要存放src字符串。
返回:返回拼接后的字符串内容。
#include <stdio.h>
#include <string.h>
#include <strings.h>
int main()
{
char str1[20];
char str2[20];
memset(str1,1,sizeof(str1));//初始化字符串,可以不用写,写了更好;
printf("arr[0] = %d\n",str1[0]);
printf("请输入两个字符串\n");
gets(str1);
gets(str2);
if(strncmp(str1,str2,5) == 0)//比较str1和str2的前五个字符
{
strncat(str1,str2,3);//追加,把str2的前三个字符追加到str1中
}
puts(str1);
return 0;
}
4.字符串的拼接 sprintf
函数原型:int printf(const char *format, …);
作用:把可变长参数中的内容合并成一个字符串format
参数:第一个部分:字符串变量,
第二个部分: 双引号的内容,有占位符
第三个部分:各种变量,用来填充占位。
返回:拼接后的字符串长度。。
#include <stdio.h>
#include <string.h>
int main(int argc ,char* argv[])
{
char arr1[20] = "abcdf";
char arr2[] = "abcdf";
printf("arr1 = %s\n",arr1);
int a = 10;
int b = 20;
int temp;
temp=sprintf(arr1,"daniubi-%d-%d",a,b);
//把a和b变量放到占位符里面,然后把整个字符串赋给arr1,会覆盖掉arr1原先的内容;
printf("arr1=%s\n temp =%d\n",arr1,temp);
system("pause");
return 0;
}
5.字符串的输入
char *gets(char *s);
作用:获取一个字符串,以回车结束输入。
参数:输入后的内容保存的位置。
返回值:输入的字符串内容。
注意:没法检测s的内存空间,避免使用。
#include <stdio.h>
#include <string.h>
int main()
{
printf("输入一个字符串\n");
char str[20]= {
0};
gets(str);//从键盘输入一个字符串
printf("str = %s\n",str);
return 0;
}
int getchar(void);
作用:获取一个输入的字符
参数: 无参数
返回值:输入的字符的ascii值。
注意:输入函数是堵塞函数,没有输入则一直等待直到输入结束为止。
#include <stdio.h>
#include <string.h>
int main()
{
printf("输入一个字符\n");
getchar();//从键盘获取一个字符
int temp = getchar();
printf("temp = %d",temp);
return 0;
}
6.字符串的输出
int putchar(int c);
作用:输出一个字符
参数:需要输出的字符ascii值
返回:也是输出的ascii值
int puts(const char *s);
作用:输出一个字符串
参数: 需要输出的字符串内容
返回值:输出的字符串的字符个数,包含\0
#include <stdio.h>
#include <string.h>
int main()
{
printf("输入一个字符串\n");
char str[20]= {
0};
gets(str);
puts(str);
return 0;
}
7.字符串的拷贝
char *strcpy(char *dest, const char *src);
作用:拷贝src的内容到dest中
参数: src源字符串
dest 目的字符串
返回值:拷贝好后的字符串 dest字符串。
char *strncpy(char *dest, const char *src, size_t n);
作用:拷贝src中的前n个字符。
参数: src源字符串
dest 目的字符串
n 需要拷贝的字符串个数
返回值:拷贝好后的字符串 dest字符串。
边栏推荐
- 2022/8/4 树上差分+线段树
- Nacos配置中心之客户端长轮询
- enumerate()函数
- I was rejected by the leader for a salary increase, and my anger rose by 9.5K after switching jobs. This is my mental journey
- 文章占位 文章占位
- typeScript-闭包函数的使用
- 现在学习次世代3D游戏建模还能找到高薪好工作吗
- 生产者消费者问题
- [Cultivation of internal skills of string functions] strlen + strstr + strtok + strerror (3)
- 请你说一下final关键字以及static关键字
猜你喜欢

3年,从3K涨薪到20k?真是麻雀啄了牛屁股 — 雀食牛逼呀

【3D建模制作技巧分享】ZBrush如何设置笔刷快捷键

go语言的日志实现(打印日志、日志写入文件、日志切割)

地面高度检测/平面提取与检测(Fast Plane Extraction in Organized Point Clouds Using Agglomerative Hierarchical Clu)

中国的顶级黑客在国际上是一个什么样的水平?

【3D建模制作技巧分享】ZBrush纹理贴图怎么导入

年薪50W+的测试工程师都在用这个:Jmeter 脚本开发之——扩展函数

一点点读懂cpufreq(二)

postman接口测试

How to make a video gif?Try this video making gif artifact
随机推荐
C语言实现扫雷 附带源代码
仪表板展示 | DataEase看中国:数据呈现中国资本市场
被领导拒绝涨薪申请,跳槽后怒涨9.5K,这是我的心路历程
App测试和Web测试的区别
[QNX Hypervisor 2.2用户手册]10.5 vdev ioapic
Leaflets of three bouquet of roses
一点点读懂thermal(一)
The Go Programming Language (Introduction)
3D建模师为了让甲方爸爸过稿,还可以这么做,就是在赚血汗钱啊
生成回文数
The Controller layer code is written like this, concise and elegant!
线上虚拟展馆展示具有哪些优势
2022年全网最全接口自动化测试框架搭建,没有之一
Since a new byte of 20K came out, I have seen what the ceiling is
Pytest learning - fixtures
【3D建模制作技巧分享】在zbrush中如何雕刻头发 ZBrush头发雕刻小技巧
赶紧进来!!!教你C语言实现扫雷小游戏(文章最后有源码!!!)
Based on the results of the facts
一招包治pycharm DEBUG报错 UnicodeDecodeError: ‘utf-8‘ codec can‘t decode
【项目实战】仿照Room实现简单管理系统