更安全的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 ) //将报警置为默认

 

posted @ 2016-03-05 09:32  91program  阅读(656)  评论(0编辑  收藏  举报