LPTSTR CPreView::CopyString(LPTSTR lpszSrc)
{
// Local variables
LPTSTR lpszDest;
int iStrLen;
// Initialize variables
lpszDest = NULL;
if (lpszSrc == NULL)
{
DebugMsg(__TEXT("ICMVIEW.C : CopyString : lpszSrc == NULL\r\n"));
return(NULL);
}
iStrLen = ((int)(lstrlen(lpszSrc) +1) * sizeof(TCHAR));
lpszDest = (LPTSTR)GlobalAlloc(GPTR, iStrLen);
_tcscpy(lpszDest, lpszSrc);
return(lpszDest);
} // End of function CopyString这段代码是从VC6.0中拷贝到VC2005之后出现警告
e:\vc++\transformer\transformer\preview.cpp(357) : warning C4996: “wcscpy”被声明为否决的
1> d:\program files\microsoft visual studio 8\vc\include\string.h(250) : 参见“wcscpy”的声明
1> 消息:“This function or variable may be unsafe. Consider using wcscpy_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See online help for details.”大家看一下有什么办法解决,不改变设置
{
// Local variables
LPTSTR lpszDest;
int iStrLen;
// Initialize variables
lpszDest = NULL;
if (lpszSrc == NULL)
{
DebugMsg(__TEXT("ICMVIEW.C : CopyString : lpszSrc == NULL\r\n"));
return(NULL);
}
iStrLen = ((int)(lstrlen(lpszSrc) +1) * sizeof(TCHAR));
lpszDest = (LPTSTR)GlobalAlloc(GPTR, iStrLen);
_tcscpy(lpszDest, lpszSrc);
return(lpszDest);
} // End of function CopyString这段代码是从VC6.0中拷贝到VC2005之后出现警告
e:\vc++\transformer\transformer\preview.cpp(357) : warning C4996: “wcscpy”被声明为否决的
1> d:\program files\microsoft visual studio 8\vc\include\string.h(250) : 参见“wcscpy”的声明
1> 消息:“This function or variable may be unsafe. Consider using wcscpy_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See online help for details.”大家看一下有什么办法解决,不改变设置
strcpy 多字节用这个
http://topic.csdn.net/u/20110228/08/4612f047-61d6-48b8-a82e-bd77eff48133.html
This function or variable may be unsafe. Consider using wcscpy_s instead
为了增强安全性
2) 禁止这个警告
其实这个warning只是建议性的提示,推荐你用另外一个函数来替代从而更安全,当然,旧的函数也是可以使用的。
照猫画虎吗