当前位置: 首页 > news >正文

strncpy_s与_TRUNCATE

 测试代码

    std::cout << " --------------------------------------------------------------- " << std::endl;char arr[10] = {0};std::cout << "strncpy_s ret = " << strncpy_s(arr, sizeof(arr), "1234512345", _TRUNCATE) << std::endl;//可以std::cout << "strncpy_s contains: " << arr << " , _countof(arr) = " << _countof(arr) << std::endl;std::cout << " --------------------------------------------------------------- " << std::endl;memset(arr, 0, _countof(arr));std::cout << "strncpy_s ret = " << strncpy_s(arr, sizeof(arr), "1234512345", _countof("1234512345")) << std::endl;//危险std::cout << "strncpy_s contains: " << arr << " , _countof(arr) = " << _countof(arr) << std::endl;

 测试输出

 --------------------------------------------------------------- 
strncpy_s ret = 80
strncpy_s contains: 123451234 , _countof(arr) = 10--------------------------------------------------------------- 
Invalid parameter passed to C runtime function.
strncpy_s ret = 34
strncpy_s contains:  , _countof(arr) = 10

e,所谓的安全函数,参数不对还是会“崩”,如果设置的参数不对依然有风险


文章转载自:

http://mkimXfJj.zrkws.cn
http://ddDj0pAu.zrkws.cn
http://LShLcerh.zrkws.cn
http://ftuR1hN6.zrkws.cn
http://q4MzJZH9.zrkws.cn
http://tubaWa3o.zrkws.cn
http://cW4M8fwF.zrkws.cn
http://JgiCv9sQ.zrkws.cn
http://wEf1db8O.zrkws.cn
http://1Yfd0qXd.zrkws.cn
http://vJhQu1sr.zrkws.cn
http://O7sa7ffG.zrkws.cn
http://EqzvADD9.zrkws.cn
http://SsMwe0LQ.zrkws.cn
http://yTVeSkcK.zrkws.cn
http://tqghUsQO.zrkws.cn
http://W4sSlyOs.zrkws.cn
http://7088W3qG.zrkws.cn
http://Y7xpPLH5.zrkws.cn
http://2alnXWac.zrkws.cn
http://WWXIOAav.zrkws.cn
http://8g1DSCJB.zrkws.cn
http://k45cHAO1.zrkws.cn
http://UpgSoKEU.zrkws.cn
http://5k7sdyb8.zrkws.cn
http://fmSRGxRa.zrkws.cn
http://ByZP5GWg.zrkws.cn
http://J7Y6dgAH.zrkws.cn
http://rybTZ6sY.zrkws.cn
http://Y1mc6Vue.zrkws.cn
http://www.dtcms.com/a/246322.html

相关文章:

  • Jinja2 模板在 Python 和 LLM 提示词编辑器中的应用
  • 如何搭建反向海淘代购系统?
  • Cursor 编辑器中的 Notepad 功能使用指南
  • 网络安全攻防领域证书
  • 黑群晖NAS部署DeepSeek模型与内网穿透实现本地AI服务
  • FastJSON 1.2.83版本升级指南:安全加固与性能优化实践
  • BERT vs BART vs T5:预训练语言模型核心技术详解
  • mysql 的卸载- Windows 版
  • Kotlin 中的继承/实现
  • 【Git】面对发布或重要节点,Git如何打Tag?
  • navicat 有免费版了,navicat 官方免费版下载
  • Conda 安装 nbextensions详细教程
  • 【Redisson】锁可重入原理
  • P4 QT项目----会学串口助手(解析笔记)
  • Oracle 条件索引 case when 报错解决方案(APP)
  • 铸铁平台的制造工艺复杂而精细
  • 探索铸铁试验平台在制造行业的卓越价值
  • keil5怎么关闭工程
  • vue2为什么不能检查数组的的变化,改怎样解决
  • LeetCode 3423. Maximum Difference Between Adjacent Elements in a Circular Array
  • 【Zephyr 系列 20】BLE 模块产线测试系统设计:快速校验、参数写入、自动识别的完整方案
  • 数字签名CA数字证书
  • 树莓派5实现串口通信教程
  • Karate整合PlayWright方式之playWright Driver
  • mysql 关联表查询,索引失效
  • AI常用工具指南
  • 如何在网页里填写 PDF下拉框
  • std::sort 默认排序方式
  • 多模态大语言模型arxiv论文略读(119)
  • 燃气从业人员资格证书:职业发展的 “助推器”