fopen函数报错

来源:互联网 发布:兄弟连java 怎么样 编辑:程序博客网 时间:2024/06/08 20:01

vs2012中使用fopen出现的错误:error C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.

一种方法是:头文件后面加上#pragma warning(disable : 4996)

或者是:在stdafx.h文件(不是"stdfax.h"之前)前加上

#define _CRT_SECURE_NO_WARNINGS,

另一种方法用fopen_s进行替换:

#include <stdio.h>

int main()
{  
 char ch; 
 errno_t err;
 FILE* pFile;
 char fname[50] = "D:\data1.txt"; 
 err = fopen_s(&pFile,fname,"rb");  //pFile = fopen(fname,"rb");
 //如果失败
 if(err == 1)  //if(err == NULL)
 {  
  printf("ERROR!");  
  return 1; 
 }
 //循环获取打开文件中的字符直至文件结束EOF 
 while((ch = getc(pFile)) != EOF)
  putchar(ch); 
 fclose(pFile);
 return 0;
}

 

主要供自己学习记录使用,错误之处欢迎指出!

原创粉丝点击