使用strncpy的是注意两点,目的是数组和目的是指针
.目的是数组:
char dest[N+] = "abcde"; //
char src[N+] = "";
strncpy(dest,src,N);
dest[N] ='\0'; 当strlen(src)<strlen(dest) //会直接把src中的全部内容拷贝过去
当strlen(src) >= strlen(dest) //src中会有一个数据拷贝遗漏 .目的是指针:就不能用siezof
char de[N+]="abcde";
char *dest = de;
char *src = "";
if(strlen(dest) >strlen(src)){ //不会造成数据丢失
memset(dest,,N+);
strncpy(dest,src,strlen(src));
}
else
{//数据最后一个丢失
strncpy(dest,src,N);// strncpy(dest,src,strlen(dest)); 有宏的最好写成分配dest空间的宏,否则用strlen有问题,如果是申请空间后赋值过,就没有问题了。
dest[N] = '\0'; // dest[strlen(dest)] = '\0'; } 上面的写法都是保守的写法,如果dest的内容太大,考虑性能,则可以进一步优化。

最新文章

  1. 高效快捷实用移动开单手持扫描打印一体智能 POS PDA
  2. 团队项目——站立会议DAY10
  3. Magento中,调用静态块的几种方法
  4. struts.properties的参数描述
  5. PHP 201307 月最新手册chm 免费下载
  6. Java中ArrayList源码分析
  7. 随学随用的python-note
  8. sql发邮件
  9. 使用Jquery+EasyUI 进行框架项目开发案例解说之二---用户管理源代码分享
  10. React Native 轻松集成统计功能(Android 篇)
  11. 智能化脚本autoit v3的简单了解
  12. Confluence 6 数据库表-授权(Authentication)
  13. Linux下搭建ftp服务
  14. treap学习笔记
  15. django的权限认证:登录和退出。auth模块和@login_required装饰器
  16. 【SDN】SDN相关资料--了解一下电信领域的SDN
  17. ASP代码审计学习笔记 -3.上传漏洞
  18. OAuth认证与授权
  19. free命令buff和cache的区别
  20. 万里长征第二步——django个人博客(第七步 ——上传文件)

热门文章

  1. 移动端Video标签踩坑记录
  2. java中字符串相等判断
  3. mysql索引的面试题
  4. gin源码剖析
  5. 多线程并发 了解 Thread
  6. 利用Load命令将本地文本里面的数据导入到MySQL数据库
  7. ajax async异步
  8. nginx代理php项目的websocket
  9. 扎心!来自互联网er的2019年度总结,看完笑着流泪……
  10. CentOS使用epel安装不同版本php-fpm