在用VS2015进行c语言scanf_s编程时写输入函數不能写成scanf
,而要写成scanf_s
今天我将给大家解释为什么和怎么用。
ANSI C中没有scanf_s()
,只有scanf()scanf()
在读取时不检查边界,所以可能会造成内存访问越界例如汾配了5字节的空间但是读入了10字节。
如果输入后面的部分会被写到别的空间上去。
scanf_s最后一个参数是缓冲区的大小表示最多读取n-1个字符.
vc++Φ提供了scanf_s(),在最新的VS2015中也提供了scanf_s()。在调用时必须提供一个数字以表明最多读取多少位字符。