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;
}
相关推荐
Dillon Dong1 小时前
从C到Simulink: ARM Compiler 5 (RVDS) 为什么simulink 不能使用arm编译
c语言·arm开发·simulink
黎雁·泠崖2 小时前
Java底层探秘进阶:JIT汇编逐行拆解!Java方法栈帧与C语言深度对标
java·c语言·汇编
无限进步_3 小时前
【C语言】用队列实现栈:数据结构转换的巧妙设计
c语言·开发语言·数据结构·c++·链表·visual studio
Dillon Dong4 小时前
从C到Simulink: 使用 `simulation_stubs`(仿真存根)处理MBD中的硬件依赖
c语言·stm32·matlab
代码游侠5 小时前
应用——基于C语言实现的简易Web服务器开发
运维·服务器·c语言·开发语言·笔记·测试工具
zhangx1234_6 小时前
C语言 题目2
c语言·开发语言
qq_401700417 小时前
C/C++中的signed char和unsigned char详解
c语言·c++·算法
无限进步_7 小时前
【C语言】循环队列的两种实现:数组与链表的对比分析
c语言·开发语言·数据结构·c++·leetcode·链表·visual studio
一路往蓝-Anbo7 小时前
C语言从句柄到对象 (五) —— 虚函数表 (V-Table) 与 RAM 的救赎
c语言·开发语言·stm32·单片机·物联网
聆风吟º7 小时前
【顺序表习题|图解|双指针】合并两个有序数组 + 训练计划 I
c语言·数据结构·c++·经验分享·算法