对 strcpy_s 若干测试

简介: 今天发现如果strcpy这函数,目标buffer太小,会有意想不到的崩溃。而且不容易调试。以后尽量要用strcpy_s了。 strcpy_s是strcpy的更安全的版本 1.当目标字符串参数是一个字符串数组时可以不要numberOfElements这个参数,例如: char sz...

今天发现如果strcpy这函数,目标buffer太小,会有意想不到的崩溃。而且不容易调试。以后尽量要用strcpy_s了。

strcpy_s是strcpy的更安全的版本

1.当目标字符串参数是一个字符串数组时可以不要numberOfElements这个参数,例如:

    char  szBuf[50];
    strcpy_s(szBuf,50,"dfassfasfasfsf");
strcpy_s(szBuf,"dfassfasfasfsf"); //也正确

如果目标字符串参数是一个字符指针,则必须要numberOfElements这个参数

    char * szBuf = new char[50];
    strcpy_s(szBuf,"dfassfasfasfsf"); // error C2660: “strcpy_s”: 函数不接受 2 个参数
    strcpy_s(szBuf,50,"adsfsadfsf"); //正确

 

相关文章
|
Java API Maven
全网首发:Spring Cloud Gateway设置统一的请求前缀
全网首发:Spring Cloud Gateway设置统一的请求前缀
1717 0
全网首发:Spring Cloud Gateway设置统一的请求前缀
|
缓存 监控 NoSQL
深入解析数据库性能优化:策略与实践
【7月更文挑战第23天】数据库性能优化是一个复杂而持续的过程,涉及硬件、软件、架构、管理等多个方面。通过本文的介绍,希望能够为读者提供一个全面的性能优化框架,帮助大家在实际工作中更有效地提升数据库性能。记住,优化不是一蹴而就的,需要持续的观察、分析和调整。
|
网络协议
Wireshark 捕获和显示过滤器
Wireshark 捕获和显示过滤器
320 0
|
JavaScript Java 数据库
考勤|基于Springboot的大学生考勤系统设计与实现(源码+数据库+文档)
考勤|基于Springboot的大学生考勤系统设计与实现(源码+数据库+文档)
323 0
|
Ubuntu 安全 Linux
Grub2启动项的修改和相关操作命令
**GRUB2**是Linux的主要引导加载程序,用于启动时显示菜单。要修改启动项,应编辑`/etc/default/grub`,然后运行`grub-mkconfig -o /boot/grub/grub.cfg`更新配置,最后确保`grub.cfg`只读。若需修复引导问题,可启动到Ubuntu Live CD/DVD,挂载根和boot分区,重新安装GRUB2,并根据需要修复`grub.cfg`或Windows引导项。遵循此指南,能安全管理GRUB2并解决引导问题。
2573 0
|
测试技术 数据库 C++
Qt C++拖放事件探索之旅:多方法深入解析
Qt C++拖放事件探索之旅:多方法深入解析
1153 1
|
网络协议 网络安全
Fedora 启动 SSH服务
一、Fedora 启动sshd服务: 1、先确认是否已安装ssh服务:   [root@localhost ~]# rpm -qa | grep openssh-server  openssh-server-5.3p1-19.fc12.i686 (这行表示已安装)   若未安装ssh服务,可输入:   #yum install openssh-server    进行安装   2、修改配置文件    #vi /etc/ssh/sshd_config    #Port 22  监听的端口号,默认是22,可以自定义。
2508 0
|
自然语言处理 JavaScript 前端开发
详解 clang-format 配置选项(基于 clang 8.0.0)
基于 clang 8.0.0 详解 clang-format 中涉及 C/C++ 配置选项的含义,跳过不相关的语言配置选项如 Java, Objective-C, JavaScript。
4009 0
|
网络协议 Linux API
Linux 端口复用详解(附有案例代码)
Linux 端口复用详解(附有案例代码)