发布时间:2023-09-29 08:00
1.字符串常见的API(函数调用的接口)
对字符串进行操作的时候要包含#include
(1)puts
puts类似于ptintf,作用是输出字符串。
#include
#include
#include
int main()
{
char *str="C语言你好!";
puts(str);
system("pause");
return 0;
}
#include
#include
#include
int main()
{
char *str="C语言你好!";
printf("%s\n",str);
system("pause");
return 0;
}
运行结果:
puts和printf的区别:
两者的区别在于,puts输出完字符串并自动换行,printf只有在\n(C语言换行符)的时候才能换行。
(2)gets
gets类似与scanf,作用是输入字符串
注意:当用scanf来输入字符串的时候,如果不定义字符串的空间大小,可能出现段错误。
#include
#include
#include
int main()
{
char pstr[128]={'\0'};
//定义pstr,设置空间为128个字节,把每个元素都初始化为\0
printf("请输入字符串:\n");
gets(pstr);
puts(pstr);
system("pause");
return 0;
}
char pstr[128]={’\0’},在内存当中做了什么事?
在内存当中,申请了连续的128个字节,每一项初始化都为\0。
char *pstr; 定义了一个char型的指针变量,存放的是别人的地址,在
windows下为4个字节,在linux下为8个字节。到底存放是谁的地址,
就不知道了,我们称之为野指针。造成非法内存访问,cmd窗口闪退。
(3)我们要为指针开辟空间:
开辟空间的例子:
pstr=(char *)malloc(128);//开辟空间为128个字节。
#include
#include
#include
int main()
{
char *pstr;//定义指针
pstr=(char *)malloc(128);//申请空间为128个字节。
memset(pstr,'\0',128);//初始化
printf("请输入字符串:\n");
gets(pstr);
puts(pstr);
system("pause");
return 0;
}
运行结果:
memset(pstr,’\0’,128);
1.pstr 初始化的对象
2.初始化成什么字符,一般写‘\0’
3.初始化为多大
(4)用malloc申请空间的时候,可能会失败,要做判断
#include
#include
#include
int main()
{
char *pstr;//定义指针为空
pstr=(char *)malloc(128);//申请空间为128个字节。
if(pstr==NULL)
{
printf("申请内存失败\n");
exit(-1);
}
memset(pstr,'\0',128);
printf("请输入字符串:\n");
gets(pstr);
puts(pstr);
system("pause");
return 0;
}
——@上官可编程
阿里云架构师马继雨:云超算解决方案全面助力生命科学行业普惠增效
【docker系列】docker-compose的YAML配置文件v2、v3版本详解
【云原生】K8S--负载均衡详细介绍;什么是K8S的负载均衡?
用python-OpenCV做一个魔方墙找茬 (3D视眼训练)
利用vs2019自带的sql server创建数据库并用c#连接(轻松获得连接字符串)
官宣|九章云极DataCanvas核心产品通过 “可信大数据”权威评测
姚班学霸陈立杰:16岁保送清华,18岁拿下IOI世界冠军,现摘得FOCS 2019最佳学生论文...
Vue2.7正式发布!代号为:Naruto(火影忍者),原生支持 Composition API +终于可以在Vue2项目中使用Vue3的新特性了,真香~