添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
sleep(3000); //将小写sleep改为 Sleep
Sleep(3000);

二、错误 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.

//解决办法-1;忽略此安全问题
//vs2013以上,需要在头文件前添加
#define _CRT_SECURE_NO_WARNINGS
//解决办法-2,
//使用fopen_s
//fopen和fopen_s的区别
//fopen-源码 只需要提供两个参数,一个文件名称,一个模式
//fopen_s-源码 需要提供三个参数 第一个是文件指针,第二个文件名,第三个是模式
FILE* file_f = NULL;
fopen_s("t.txt","w+",file_f);

三、E0167″const char *” 类型的实参与 “FILE **” 类型的形参不兼容,这种情况一般是因为VS升级,或者用新版本的SDK编译 安全检查不能兼容的问题。比如

我们原来要读取一个文件的内容这个写就可以,
FILE* fp = fopen_s("old.exe", "rb");
但是到了vs2019版本中就会显示E0167"const char *" 类型的实参与 "FILE **" 类型的形参不兼容我们需要像下面这样写
FILE* fp = NULL;
fopen_s(&fp,"old.exe", "rb");
遇到这种报错的时候可以搜一搜我们使用的代码哪一个词是不是有新用法了。

四、char类型的实参与LPCWSTR类型的形参类型不兼容
方法一 、项目->XXX属性->配置属性->常规->字符集 , 由使用Unicode字符集 改为 使用多字节字符集
方法二、在程序的开头加上 #undef UNICODE
方法三、使用TCHAR。

五、警告 C4473 “fscanf_s”: 没有为格式字符串传递足够的参数,此警告可能造成传递不成功

fscanf_s(fp, "version:%s", newVersion);
修改为下面为正常。fscanf_s 在新的规定里需要给一个读取字节长度数量的参数
fscanf_s(fp, "version:%s", newVersion, 20);

六、错误 C4996 ‘fscanf’: This function or variable may be unsafe. Consider using fscanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. test F:\C++\test\test.cpp 52

fscanf(fp, "version:%s", newVersion, 20);
使用了弃用的函数、类成员、变量或 typedef。修改为如下
fscanf_s(fp, "version:%s", newVersion, 20);