对于函数scanf_s();

当出现C6064这个警告的时候,预示着缺少一个整形参量,该参量的功能是表明输入字符的长度(可以使用sizeof,strlen 等函数);

例子如下:

scanf_s("%s", book.title,sizeof(book.title));


完整源代码如下:

(结构体传参的测试)

#include<stdio.h>struct Date{int year;int month;int day;};struct Book{char title[128];char auther[40];float price;struct Date date;char publisher[40];};struct Book GetInput(struct Book book){printf_s("请输入书名:");scanf_s("%s", book.title,sizeof(book.title));printf_s("请输入作者:");scanf_s("%s", book.auther,sizeof(book.auther));printf_s("请输入售价:");scanf_s("%f", &book.price);printf_s("请输入出版日期:");scanf_s("%d-%d-%d", &book.date.year, &book.date.month, &book.date.day);printf_s("请输入出版社:");scanf_s("%s", book.publisher,sizeof(book.publisher));return book;}void printBook(struct Book book){printf_s("书名 :%s \n", book.title);printf_s("作者 :%s \n", book.auther);printf_s("售价 :%f \n", book.price);printf_s("出版日期 :%d-%d-%d\n", book.date.year, book.date.month,book.date.day);printf_s("出版社 :%s\n", book.publisher);}int main(){struct Book b1={0}, b2={0};printf_s("请输入第一本书的信息...");putchar('\n');b1 = GetInput(b1);printf_s("请输入第二本书的信息...");b2 = GetInput(b2);printf_s("录入完毕,现在输出:\n");printf_s("第一本书的信息:\n");printBook(b1);printf_s("第二本书的信息:\n");printBook(b2);return 0;}

输入使用 scanf() ,是不安全的,因为他在读取字符串的时候不会检查边界,可能会造成内存泄露,在 Visual Studio 中编译会报错,推荐使用 scanf_s() 。

[C6064]警告以及解决方法相关推荐

  1. vue中warning_vue项目运行提示Warnings while compiling.警告的解决方法

    vue项目运行提示Warnings while compiling.警告的解决方法 发布时间:2020-11-03 15:31:52 来源:亿速云 阅读:61 作者:Leah vue项目运行提示War ...

  2. Keil运行密钥(pojie)软件运行时,exe程序无法运行/被删除/防火墙警告的解决方法

    Keil运行破//解软件运行时,exe程序无法运行/被删除/防火墙警告的解决方法 1.不要解压安装包,直接在压缩包里双击exe运行程序 这时解压软件报错弹出威胁防护警告(如果你解压后再运行exe,安全 ...

  3. Python数据可视化——matplotlib绘制的图里面不能正常显示中文,提示警告的解决方法

    运行下列代码: import matplotlib.pyplot as pltedu = [0.2515,0.3724,0.3336,0.0368,0.0057] labels = ['中专','大专 ...

  4. Win11 Windows安全中心一直显示警告图标解决方法

    Win11 Windows安全中心一直显示警告图标解决方法 以管理员身份打开命令提示符 以管理员身份打开命令提示符 然后输入 reg add "HKEY_LOCAL_MACHINE\SOFT ...

  5. C语言函数未定义警告的解决方法

    问题:在C语言中,自定义函数并进行调用,运行后提示"函数未定义"的警告 修改前代码段: #define _CRT_SECURE_NO_WARNINGS 1 #include < ...

  6. 在https页面中使用iframe出现安全警告的解决方法

    在Https页面中,如果iframe所引入页面是非https协议的页面,或者src属性不存在都可能导致浏览器弹出安全警告.本人在网上查找相关资料,总结如下几种解决方法: 创建一个只含有的空白htm页面 ...

  7. 使用pip install出现超时警告的解决方法

    解决方法: pip install pandas -i http://pypi.douban.com/simple --trusted-host pypi.douban.com (其中的keras是你 ...

  8. 运行dcnv3代码的警告及解决方法

    UserWarning:Attempted to use ninja as the BuildExtension backend but we could not find ninja 解决方法:pi ...

  9. 发那科syst178_发那科机器人报警信息警告代码解决方法

    3. 检查系统变量$PARAM_GROUP.$BELT_ENABLE. SRVO--011 SERVO TP released while enabled 可能原因: 操作面板上的教导盒开关在教导盒开 ...

最新文章

  1. 技巧 | OpenCV程序执行时间计算
  2. 树莓派安装samba共享文件
  3. 企业IT运维管理的发展有章可寻
  4. hdu4971 流-最大权闭包
  5. DataSet DataTable操作
  6. 敲地鼠java_Java实现的打地鼠小游戏完整示例【附源码下载】
  7. php微信支付接口开发程序(概念篇)
  8. es解决只能查询10000条数据方案
  9. 【BZOJ2756】奇怪的游戏,网络流判断答案
  10. java 上传文件编码_java文件传输之文件编码和File类的使用
  11. 解析SSH和SSM两大框架的组成及其区别
  12. 我的Android进阶之旅------android中一些特殊字符(如:←↑→↓等箭头符号)的Unicode码值
  13. 网络流(Network Flow)
  14. excel换行按什么键_excel中关于自动换行和强制换行那些事儿
  15. 软件外包公司到底干啥的?要不要去外包公司?
  16. firefox被hao.360劫持的处理方法
  17. 使用电脑麦克风的时候发现有杂音怎么办
  18. Java 正则表达式 中的 任意字符
  19. 基于timestamp和nonce的防止重放攻击方案
  20. 哈希切割+布隆过滤器

热门文章

  1. (php毕业设计)基于php图书馆预约选座管理系统源码
  2. php密文接口,php接口安全:php接口加密的四个方案
  3. 数组push时 覆盖的问题
  4. Python-pandas的fillna()方法-填充空值
  5. 计算机“字符”,“字节”以及各单位说明
  6. ECG ×AI: 机器/深度学习的ECG应用入门(4)
  7. vuex4的基本用法
  8. call() apply()方法
  9. 为什么可以这样写 Collection coll = new ArrayList();
  10. 时间复杂度以及NP问题详解