warning C4996: “fopen”被声明为否决的

问题:vs2005中编程时,遇到如下:

warning C4996: “fopen”被声明为否决的。

解释:微软的警告,主要是那些都是C库的函数,很多函数内部是不进行参数检测的(包括越界类的),微软担心使用这些会造成内存异常,所以就改写了一 下同样功能的函数,只不过进行了参数的检测,使用这些新的就可以了。不用特意记,每个函数在给出警告时都会告诉你相应的安全函数,注意一下警告信息就可以了,使用时再 查看一下MSDN。库函数改写例子:

mkdir改写为 _mkdir

fopen”改写为 fopen_s

stricmp改写为 stricmp_s

解决:

1> 根据下面的warning提示:参见“fopen”的声明

消息:“This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See online help for details.”

所以可以将函数按warning提示的第二句使用fopen_s函数即可:

eg:FILE *pFile=fopen("1.txt", "w");

改为:

FILE* pFile;

fopen_s(&pFile, "1.txt", "w");

2> 还是根据warning提示的地三句话:use _CRT_SECURE_NO_DEPRECATE

项目|属性|配置属性|C/C++|命令行|附加选项,加入【/D

"_CRT_SECURE_NO_DEPRECATE" 】(注:加入中括号中完整的内容)

3> 降低警告级别:项目|属性|配置属性|C/C++|常规,自己根据情况降低

警告级别(此法不推荐)

注:高度重视警告:使用编译器的最高警告级别。应该要求构建是干净利落的(没有警告)。理解所有警告。通过 修改代码而不是降低警告级别来排除警告。

编译器是你的朋友。如果它对某个构造发出警告,这经常是说明你的代码中存在潜在的问题。成功的构建应该是无声无息的(没有警告的)。

fopen警告处理方式的更多相关文章

  1. odoo开发笔记:抛出警告的方式

    上边rase 加3种写法,都能实现,跑出警告的功能.

  2. iOS - 设置系统类似的方法弃用警告的方式

    在开发过程中,调用系统方法时,经常可以看xCode 提示 该方法已弃用,如下图: 觉得特别炫,查一下资料,如果自己也想实现如下的效果,只需要采用系统的如下几个关键字加在方法名后面就可以了: NS_DE ...

  3. python3中Requests将verify设置为False后,取消警告的方式

    import requests resp = requests.get('https://www.***.com', verify=False) 调用成功但是会有如下警告信息: InsecureReq ...

  4. Requests将verify设置为False后取消警告的方式

    方法一 import requests import urllib3 urllib3.disable_warnings() resp = requests.get('https://www.***.c ...

  5. Your project specifies TypeScriptToolsVersion 2.3, but a matching compiler ...... 出现这种警告解决方式

  6. Python selenium的js扩展实现

    python写的数据采集,对一般有规律的页面用 urllib2 + BeautifulSoup + 正则就可以搞定. 但是有些页面的内容是通过js生成,或者通过js跳转的,甚至js中还加入几道混淆机制 ...

  7. (转)怎么去掉Xcode工程中的某种类型的警告 Implicit conversion loses integer precision: 'NSInteger' (aka 'long') to 'int32

    问题描述  在我们的项目中,通常使用了大量的第三方代码,这些代码可能很复杂,我们不敢改动他们,可是作者已经停止更新了,当sdk升级或者是编译器升级后,这些遗留的代码可能会出现许许多多的警告,那么我们有 ...

  8. PHP学习笔记,curl,file_get_content,include和fopen四种方法获取远程文件速度测试.

    这几天在做抓取.发现用PHP的file_get_contents函数来获取远程文件的过程中总是出现失败,并且效率很低下.所以就做了个测试的demo来测试下PHP中各种方法获取文件的速度. 程序里面使用 ...

  9. 爬虫之ssh证书警告错误

    错误信息: 错误信息如下: requests.exceptions.SSLError: ("bad handshake: Error([('SSL routines', 'tls_proce ...

随机推荐

  1. CleanAOP实战系列--WPF中MVVM自动更新

    CleanAOP实战系列--WPF中MVVM自动更新 作者: 立地 邮箱: jarvin_g@126.com QQ: 511363759 CleanAOP介绍:https://github.com/J ...

  2. GLSL基础

    GLSL基础 OpenGL Shading Language GLSL作为一种着色语言是纯粹的和GPU打交道的计算机语言.因为GPU是多线程并行处理器,所以GLSL直接面向SIMD模型的多线程计算.G ...

  3. Android 获取最近应用的缩略图

    最近有项需求是获取应用的缩略,用于在动画时显示.因此就对此块知识简要了解了一下. 在android中获取视频文件的缩略图有三种方法: 1.从媒体库中查询 新视频增加后需要SDCard重新扫描才能给新增 ...

  4. ExtJs布局大全

    1.Fit 布局 在Fit 布局中,子元素将自动填满整个父容器.注意:在fit 布局下,对其子元素设置宽度是无效的.如果在fit 布局中放置了多个组件,则只会显示第一个子元素.在Fit 布局中,子元素 ...

  5. SQL SERVER 常用字符类型的区别

    长度为 n 个字节的固定长度且非 Unicode 的字符数据.n 必须是一个介于 1 和 8,000 之间的数值.存储大小为 n 个字节.char 在 SQL-92 中的同义词为 character. ...

  6. 判断线段相交 -- 51nod 1264 线段相交

    http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1264 三角形的有向面积:a.x*b.y+b.x*c.y+c.x*a.y ...

  7. number-of-boomerangs

    https://leetcode.com/problems/number-of-boomerangs/ package com.company; import java.util.*; class S ...

  8. HDU 3544 (不平等博弈) Alice's Game

    切巧克力的游戏,想得还是不是太明白. 后者会尽量选前着切后其中小的一块来切,那么先手须尽量取中间来切. So?题解都是这么一句话,不知道是真懂了还是从别人那抄过来的. 后来找到一个官方题解,分析得比较 ...

  9. UVa 10878 Decode the tape

    题目很简单,代码也很短.第一遍做的时候,我居然二乎乎的把input里面的小框框忽略掉了,所以WA了一次. 每一行代表一个二进制的ASCII码,'o'代表1,空格代表0,中间的小黑点忽略. 我直接把一行 ...

  10. hdu 4655 Cut Pieces 找规律

    链接:http://acm.hdu.edu.cn/showproblem.php?pid=4655 题意:给你一组整数,代表每个木块所能涂成的颜色种数(编号1~ai),相邻的两块所能涂成的颜色如果是一 ...