vs2012:sprintf no safe

将数字转换成字符串函数

string inToStr(int n)
        {
        char *p=new char[100];
        sprintf(p,"%d",n);
        string s=p;
        delete []p;
        return s;
    }

出现异常情况如下:

error C4996: 'sprintf': This function or variable may be unsafe. 

建议我换成sprintf_s,换过后还是不行。

后来另起一个项目进行测试,发现可以直接使用,不知道为什么上个不能用?

查找原因,可以修改修改预处理器使得可以用:

项目——>属性——>配置属性——>C/C++——>预处理器——>预处理定义

添加_CRT_SECURE_NO_WARNINGS 。

在查找sprintf函数时,发现它的超强大用法,标记一个吧,以后查看:

基于C语言sprintf函数的深入理解_C 语言_脚本之家  http://www.jb51.net/article/37296.htm

原文地址:https://www.cnblogs.com/daocaorenblog/p/5381588.html