• C++ -- memcpy_s 与 memcpy


    memcpy_s():

      memcpy_s(
         void *dest,
         size_t numberOfElements,
         const void *src,
         size_t count 
      );
    

    memcpy_s的四个参数命名其实是有迷惑性的,个人的理解是,dest-目标地址,numberOfElenments-目标地址的字符个数(可使用sizeof获取),src-源地址,count-需要拷贝的源字符个数(可使用sizeof获取)。

    strcpy_s、memcpy_s等具有缓冲区大小检查的函数,可以有效的检测内存溢出,找到出错的代码。但是strcpy、memcpy这样的出错了需要自己扒代码。

    如:

     int dest[10], src[100];
     memcpy(dest, src, 20 * sizeof (int)); 
     memcpy_s(dest, sizeof(dest), src, 20 * sizeof (int)); 
    

    memcpy会访问越界,破坏了dest后面的数据,并且可能我们还不知道。而memcpy_s就会弹出一个对话框提醒我们。

  • 相关阅读:
    repair table
    利用逻辑备份恢复部分库表
    Web框架理解
    BootStrape基础使用
    jQuery入门
    BOM操作
    DOM操作
    day12 css样式
    JavaScript基础
    day11 前端知识简单总结
  • 原文地址:https://www.cnblogs.com/zzzsj/p/14251401.html
Copyright © 2020-2023  润新知