C语言--不安全问题

  • gets函数被弃用,不允许使用

因为这个函数在以往的使用过程中出现过重大的安全事故,因此现在在Vs2022中我们无法使用这个函数了。目前遇到的不安全问题都是因为数组的越界造成的。例如字符串拷贝函数的使用如下:

cpp 复制代码
#include<stdio.h>
int main()
{
    char str1[10];
    char str2[]="abcde";
    char str3[]="abcdefghijk";
    strcpy(str1,str2);//这个没有问题
    printf("str1=%s",str1);
    
    strcpy(str1,str3);//这个越界
    printf("str1=%s",str1);
    
    return 0;
}
相关推荐
想不明白的过度思考者1 小时前
关于扫雷的自动补空实现C语言
c语言·算法·游戏
九离十2 小时前
基于C语言的通讯录实现
c语言·开发语言
打不了嗝 ᥬ᭄2 小时前
Vector的模拟实现与迭代器失效问题
c语言·c++·算法
m0_748251355 小时前
在21世纪的我用C语言探寻世界本质——字符函数和字符串函数(2)
c语言·开发语言
北国无红豆5 小时前
【数据结构】线性表-单链表
c语言·数据结构·算法
江木1237 小时前
CUDA C 编程入门学习记录
c语言·开发语言·学习
静听夜半雨7 小时前
TOSUN同星TsMaster使用入门——3、使用系统变量及c小程序结合panel面板发送报文
c语言·c++·小程序·同星·tsmaster
刘争Stanley8 小时前
Android系统开发(八):从麦克风到扬声器,音频HAL框架的奇妙之旅
android·c语言·framework·音视频·框架·c·hal
一丝晨光13 小时前
GCC支持Objective C的故事?Objective-C?GCC只能编译C语言吗?Objective-C 1.0和2.0有什么区别?
c语言·开发语言·ios·objective-c·msvc·clang·gcc
线程A15 小时前
C 语言的void*到底是什么?
c语言·开发语言