Visual Studio常见编译错误记录

错误1:错误(活动)E0020未定义标识符 "sleep"

cpp 复制代码
sleep(3000); //将小写sleep改为 Sleep
Sleep(3000);

错误2:错误 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以上,需要在头文件前添加

cpp 复制代码
#define _CRT_SECURE_NO_WARNINGS

解决办法-2:使用fopen_s

cpp 复制代码
FILE* file_f = NULL;
fopen_s("t.txt","w+",file_f);

fopen和fopen_s的区别:

fopen只需要提供两个参数,一个文件名称,一个模式;

fopen_s需要提供三个参数,第一个是文件指针,第二个文件名,第三个是模式;

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

我们原来要读取一个文件的内容这个写就可以

cpp 复制代码
FILE* fp = fopen_s("old.exe", "rb");

但是到了vs2019版本中就会显示 E0167"const char *" 类型的实参与 "FILE **" 类型的形参不兼容我们需要像下面这样写

cpp 复制代码
FILE* fp = NULL;
fopen_s(&fp,"old.exe", "rb");

遇到这种报错的时候可以搜一搜我们使用的代码哪一个词是不是有新用法了。

错误4:char类型的实参与LPCWSTR类型的形参类型不兼容

  1. 项目->XXX属性->配置属性->常规->字符集 , 由使用Unicode字符集 改为 使用多字节字符集;
  2. 在程序的开头加上 #undef UNICODE;
  3. 使用TCHAR;

错误5:警告 C4473 "fscanf_s": 没有为格式字符串传递足够的参数,此警告可能造成传递不成功

cpp 复制代码
fscanf_s(fp, "version:%s", newVersion);

修改为下面为正常。fscanf_s 在新的规定里需要给一个读取字节长度数量的参数

cpp 复制代码
fscanf_s(fp, "version:%s", newVersion, 20);

错误6:错误 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

cpp 复制代码
fscanf(fp, "version:%s", newVersion, 20);

使用了弃用的函数、类成员、变量或 typedef。修改为如下

cpp 复制代码
fscanf_s(fp, "version:%s", newVersion, 20);

错误7:错误 C4996 'localtime': This function or variable may be unsafe. Consider using localtime_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.

需要在头文件前添加

cpp 复制代码
#pragma warning( disable : 4996 )
相关推荐
H.莓飛15 小时前
【C++】【STL】vector_OJ题
linux·服务器·开发语言·数据结构·c++·visual studio
独隅2 天前
WebStorm macOS 安装部署与高效调优实战指南
ide·macos·webstorm
golang学习记2 天前
IDEA 2026.3 远程开发迎来重磅升级
java·ide·intellij-idea·远程开发
Rabitebla2 天前
【Linux 底层原理】进程(十):进程等待详解---从僵尸进程到 wait、waitpid 与 status
linux·c++·笔记·学习·visual studio
别问!问就是全会3 天前
Jupyter Notebook 安装包下载|单元格分块运行,图表直接内嵌
ide·python·其他·jupyter
1024奇点4 天前
【仓颉语言入门 · 第二篇 第 22 课】
开发语言·ide·开源
techpupil5 天前
IDEA基础配置及开发基础插件
java·ide·intellij-idea
赵庆明老师5 天前
Android Studio Google源代理配置
android·ide·android studio
2501_916008895 天前
iOS App 图标、启动屏和多语言搭配 方法,上架前使用KXBuild一次做好 App 图标
ide·vscode·ios·objective-c·个人开发·swift·敏捷流程
2501_915909066 天前
Windows 打开 Xcode 工程,编译调试 Xcode 项目并和 Mac 同事协作
ide·windows·vscode·macos·ios·个人开发·xcode