6.4字符串操作常用函数一
#include<stdio.h>
#include<stdlib.h>
#include <string.h>
/* 6.4
author:edcfreedom
date:2021/8/19
funDescription:
字符串几种常用的API(函数)
#include <string.h>要加这个库
*/
int main()
{
char *str = "chenguanxi陈冠希";
/*
puts(str);//puts会自动换行
printf("%s\n",str);
*/
//gets || scanf
char *pstr; //野指针,造成非法内存访问,会出现段错误,cmd窗口闪退,野指针乱指向其他地址
pstr = (char *)malloc(128);//可以用malloc开辟空间
if(pstr == NULL){
printf("内存开辟失败\n");
exit(-1);
}
memset(pstr,'\0',128);
//2.初始化,把每个元素都初始化为'\0' 3.一旦用了malloc,一定要注意内存泄漏的问题 4.malloc可能会失败,要对返回值做判断
//memset的用法:1.初始化的对象开头 2.初始化成什么字符 3.初始化多大
//char pstr[128] = {'\0'};//1.申请128字节 2.初始化为'\0',把每一个元素都初始化为'\0'
printf("请输入字符串:\n");
//scanf("%s",pstr);
gets(pstr);
puts(pstr);
return 0;
}
本文介绍了C语言中字符串操作的基础知识,包括使用puts和printf打印字符串,以及如何安全地使用gets和malloc处理用户输入。通过示例代码展示了如何避免野指针导致的内存错误,强调了内存管理的重要性,特别是使用memset初始化内存和检查malloc返回值防止内存分配失败。同时,讨论了在处理用户输入时防止缓冲区溢出的安全策略。

被折叠的 条评论
为什么被折叠?



