当前位置: 首页 > 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,所谓的安全函数,参数不对还是会“崩”,如果设置的参数不对依然有风险

相关文章:

  • 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
  • 定制研发服务/泰州网站排名seo
  • ppt的免费网站/搜索引擎调词平台
  • 做威客网的正规网站有哪些/优化公司
  • 网站开发计算机配置/宁波最好的推广平台
  • wordpress 禁用响应/百度优化
  • 注册公司需要啥资料/官网seo是什么