码迷,mamicode.com
首页 > 编程语言 > 详细

C++关于strcpy等函数的安全版本

时间:2015-03-06 21:58:34      阅读:294      评论:0      收藏:0      [点我收藏+]

标签:

如下程序:

#include <iostream>
using namespace std;
int main()
{ 
    char ch1[10];
    strcpy(ch1,"123456");
}

在VS2012上面编译时会报错:

error C4996: ‘strcpy‘: This function or variable may be unsafe. Consider using strcpy_s instead.

在VS2010中,有众多的系统函数名都追加了_s,比如scanf_s(),strcmp_s()等等。_s表示这个方法是安全的 (safe),原来的函数对字符串的长是忽略的,可能溢出,这些加_s的方法对长度进行判断,如果目标字符装不下的话是不会进行不复制的。

这就是出现_S安全版本的原因

C++关于strcpy等函数的安全版本

标签:

原文地址:http://www.cnblogs.com/VIPler/p/4319317.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!