_wfopen 函数的 C++ C4996 错误

标签 c++ file

我有 4 个头文件,它们都使用 _wfopen() 从 txt 文件打开数据,如下所示:

FILE* file = _wfopen(L"data.txt",L"r,ccs=utf-8");

VC++ 给我一个错误 C4996,但仅在一个头文件中,其他三个根本没有错误。我怎样才能解决这个问题 ? 更新: 我的教授给了我这段代码。我编译了它,只有C4996警告。由于我需要重用它,我创建了一个新项目并将他的代码中的所有内容复制到新项目中。然后它给我一个C4996错误。

最佳答案

网络上的粗略搜索表明您正在使用已弃用的函数,从而引发错误 C4996。如示例所示,您应该改用函数 _wfopen_s。

...
// Create an the xml file in text and Unicode encoding mode.
if ((fileHandle = _wfopen( L"_wfopen_test.xml",L"wt+,ccs=UNICODE")) == NULL) // C4996
// Note: _wfopen is deprecated; consider using _wfopen_s instead
{
    wprintf(L"_wfopen failed!\n");
    return(0);
}
...

对于所有四个调用,您只指出一次此错误的原因是编译器抑制了重复的错误。

引用:http://msdn.microsoft.com/en-us/library/yeby3zcb.aspx

关于_wfopen 函数的 C++ C4996 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13550513/

相关文章:

c++ - 链接具有不兼容依赖项的库

python - 无法从偏航角超过 90 glm 的欧拉角创建 quat

c++ - 关于 Cygwin 的一些问题[Windows 中的 Linux](套接字、线程、其他编程和 shell 问题)

c - 如何将文本文件中的矩阵分配给 C 中的变量?

python - 如何将png文件放入字符串并将其写入另一个文件

c++ - 如何为多线程应用程序制作全局对象

Java Web 服务 : sending files using DataHandler class

javascript - 如何在 javascript 中解析 XML 文件。大文件可能使用SAX?

php - 如何在 PHP 中同时使用多种算法对文件进行哈希处理?

c++ - 为什么以及何时应调用 _fpreset()?