C语言scanf | 您所在的位置:网站首页 › scarf是什么中文意思 › C语言scanf |
前言
今天开始学习C语言,看书学的挺快的,感觉很有趣,就想着敲下代码,结果错误百出,差点不想学了,果然编程是敲会的。下面说说第一个程序遇到的问题与心得 scanf_s()前身——scanf()有的教材里用的scanf(),其实在目前Visual Studio版本中已经弃用了,用scanf_s()函数代替了。scanf()既然已经被替代了我就不多说了。 为什么现在要用scanf_s()?scanf_s()函数是Microsoft公司VS开发工具提供的一个功能相同的安全标准输入函数,从vc++2005开始,VS系统提供了scanf_s()。在调用该函数时,必须提供一个数字以表明最多读取多少位字符。另外,很多带“_s”后缀的函数是为了让原版函数更安全,传入一个和参数有关的大小值,避免引用到不存在的元素,防止hacker利用原版的不安全性(漏洞)黑掉系统。简单的理解,就是scanf_s会比scanf更安全,那么为了安全也需要编程者多传一些参数,这些参数就是变量的长度(占用的字节数)。(摘自ID“自信男孩"的解答) 很多带“_s”后缀的函数是为了让原版函数更安全,传入一个和参数有关的大小值,避免引用到不存在的元素,有时黑客可以利用原版的不安全性黑掉系统。比如:char d[20];写成scanf_s("%s",d,20);才是正确的,有这个参数20使准确性提高。(百度百科) sc |
CopyRight 2018-2019 实验室设备网 版权所有 |