zoukankan      html  css  js  c++  java
  • 更安全的C语言字符串处理函数

    StrSafe.h,位于STANDARDSDK_500/Include/Armv4i/strsafe.h等,每种CPU类型下都有对应的StrSafe.h文件存在。
     
    #include <strsafe.h>
    STRSAFEAPI是为了解决现有的 C 语言运行时函数的代码容易产生的“内存溢出”问题而设计的。
    当引用 strsafe 系列函数时,原有的 C 语言字符串处理函数都将被自动进行 #undef 处理。
    调试过程中的警告或出错信息将会告诉我们哪些函数哪些不安全,哪些已经被相应的 strsafe 系列函数取代了。
    //1.不赞成使用不安全的函数,以避免产生编译错误
    //2.如果你不要安全处理,你可以在包含strsafe.h头文件之前,#define STRSAFE_NO_DEPRECATE
    #ifdef DEPRECATE_SUPPORTED
    // First all the names that are a/w variants (or shouldn't be #defined by now anyway).
    #pragma deprecated(strcpy)
    #pragma deprecated(wcscpy)
    #pragma deprecated(lstrcpy)
    #pragma deprecated(StrCpy)
    类似的Strcat/wcscat/lstrcat/StrCat,sprintf/wsprintf
    以下是在预编译头文件stdafx.h中增加StrSafe.h的调用示例: 
    #pragma warning( disable : 4996 ) //将报警置为无效
    #include <strsafe.h>
    #pragma warning( default : 4996 ) //将报警置为默认
  • 相关阅读:
    JS函数的定义与调用方法
    一次完整的浏览器请求流程
    【前端安全】JavaScript防http劫持与XSS
    深入理解display属性
    前端开发人员需要了解的CSS原理
    第 10 章 文件系统及实现
    第 9 章 虚拟内存管理
    第 8 章 内存管理策略
    第 7 章 死锁
    第 6 章 同步
  • 原文地址:https://www.cnblogs.com/91program/p/5244136.html
Copyright © 2011-2022 走看看