当前位置:网站首页>C语言标准函数scanf不安全的原因
C语言标准函数scanf不安全的原因
2022-07-05 08:32:00 【明月清风-精进不止】
scanf是标准C语言的标准库函数;
scanf_s是微软的,比scanf增加了一个参数,必须说明要输入的字符的个数;
eg:
char buf[5]={0};
scanf("%s",buf);//如果输入1234567890,则5后面的字符也会读入,可能会写入到其他变量的位置,导致程序
//异常,在VS2019下测试,程序崩溃. 如果输入12,则正常
char buf[5]={0};
scanf_s("%s",buf,4);//只能存储空间字符个数-1个字符 因为最后一个空间要存储\0
//在vs2019下测试,如果输入≤4个字符,一切正常,如果输入5个字符或者以上,程序不崩溃,但是buf中没有数据,原因应该是4个字符以内(含)没有接收到回车,所以就没写入到buf中。。
边栏推荐
- 实例006:斐波那契数列
- leetcode - 445. 两数相加 II
- 关于线性稳压器的五个设计细节
- Summary of SIM card circuit knowledge
- MySQL之MHA高可用集群
- 猜谜语啦(4)
- Sword finger offer 06 Print linked list from end to end
- QEMU STM32 vscode debugging environment configuration
- Example 003: a complete square is an integer. It is a complete square after adding 100, and it is a complete square after adding 168. What is the number?
- MySQL MHA high availability cluster
猜你喜欢
Several implementation schemes of anti reverse connection protection of positive and negative poles of power supply!
实例003:完全平方数 一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
Working principle and type selection of common mode inductor
Low code platform | apaas platform construction analysis
Summary of SIM card circuit knowledge
剑指 Offer 05. 替换空格
Explain task scheduling based on Cortex-M3 in detail (Part 1)
猜谜语啦(6)
STM32 --- serial port communication
Arduino+a4988 control stepper motor
随机推荐
如何写Cover Letter?
Tailq of linked list
猜谜语啦(9)
STM32 single chip microcomputer - bit band operation
C language data type replacement
实例001:数字组合 有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少?
Keil use details -- magic wand
Classic application of MOS transistor circuit design (2) - switch circuit design
Arduino operation stm32
Naming rules for FreeRTOS
猜谜语啦(6)
Infected Tree(树形dp)
OC and OD gate circuit
Low code platform | apaas platform construction analysis
实例008:九九乘法表
Daily question - input a date and output the day of the year
Example 004: for the day of the day, enter a day of a month of a year to judge the day of the year?
What are the test items of power battery ul2580
Meizu Bluetooth remote control temperature and humidity access homeassistant
Bluebridge cup internet of things basic graphic tutorial - GPIO input key control LD5 on and off