解决VS2102中fopen替代为fopen_s的问题

最普通的解决方法,就是使用fopen_s替代,这是fopen_s()函数的用法

fopen_s(_Outptr_result_maybenull_ FILE ** _File, _In_z_ const char * _Filename, _In_z_ const char * _Mode);

这是fopen()函数:

fopen(_In_z_ const char * _Filename, _In_z_ const char * _Mode);

但fopen_s参数要比fopen多一个,并且返回的类型为:errno_t __cdecl,但fopen()返回的类型为:FILE * __cdecl

因此,fopen_s函数可能并不适合自己的程序,解决方法有一比较好的方法:

      更改预处理定义:

  项目->属性->配置属性->C/C++ -> 预处理器 -> 预处理器定义,增加_CRT_SECURE_NO_DEPRECATE 
这样就可以解决vs2012报错的问题了。

你可能感兴趣的:(解决VS2102中fopen替代为fopen_s的问题)