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;
}
相关推荐
了一梨7 小时前
在Ubuntu中配置适配泰山派的交叉编译环境
linux·c语言·ubuntu
CQ_YM7 小时前
数据结构之单向链表
c语言·数据结构·链表
亦是远方9 小时前
南京邮电大学使用计算机求解问题实验一(C语言简单编程练习)
c语言·开发语言·实验报告·南京邮电大学
Gomiko10 小时前
C/C++基础(四):运算符
c语言·c++
wadesir11 小时前
C语言模块化设计入门指南(从零开始构建清晰可维护的C程序)
c语言·开发语言·算法
赖small强11 小时前
【Linux C/C++开发】 GCC -g 调试参数深度解析与最佳实践
linux·c语言·c++·gdb·-g
猫猫的小茶馆12 小时前
【ARM】ARM的介绍
c语言·开发语言·arm开发·stm32·单片机·嵌入式硬件·物联网
森G16 小时前
六、imx6ull驱动实现
linux·c语言·ubuntu
white-persist17 小时前
【攻防世界】reverse | Mysterious 详细题解 WP
c语言·开发语言·网络·汇编·c++·python·安全
赖small强17 小时前
【Linux C/C++ 开发】 GCC 编译过程深度解析指南
linux·c语言·c++·预处理·链接·编译·编译过程