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