鱼C论坛

 找回密码
 立即注册
查看: 2057|回复: 2

用vs2019抄了《带你学C》S1E2代码并运行后出现问题,求解!

[复制链接]
发表于 2021-8-20 22:59:01 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
编译环境
win10
visual studio 2019

还原一下当时的所有操作:
我用vs2019抄写《带你学C带你飞》S1E2 windows版 计算自己写了多少代码 那个程序,
抄完代码,发现报错C4996,你的代码使用标记为已 弃用 的函数、类成员、变量或 typedef。
函数fopen,strcpy,strcat,sprintf不安全,建议改为变体fopen_s,strcp_s,strcat_s,sprintf_s

然后联网查解决方案,按照步骤:
在 Visual Studio 中关闭项目的警告
若要在 Visual Studio IDE 中关闭整个项目的警告:
打开项目的 " 属性页 " 对话框。
选择 "配置属性" " > c/c + + > 高级" 属性页。
编辑 " 禁用特定警告 " 属性以添加 4996 。 选择 "确定" 以应用所做的更改。

操作后,报错被忽略,成功生成.exe文件,正常运行,和案例的标准输出结果相同。
但接下来再用vs写其他项目时,生成的.exe可执行文件会无法打开。
同时,调试窗口会在 按任意键继续 的提示上面显示多余信息:D:\C语言\test1.exe (进程 12348)已退出,代码为 0。
输出窗口显示:
“E5P2.exe”(Win32): 已加载“D:\C语言学习\E5P2\Debug\E5P2.exe”。已加载符号。
“E5P2.exe”(Win32): 已加载“C:\Windows\SysWOW64\ntdll.dll”。
“E5P2.exe”(Win32): 已加载“C:\Windows\SysWOW64\kernel32.dll”。
“E5P2.exe”(Win32): 已加载“C:\Windows\SysWOW64\KernelBase.dll”。
“E5P2.exe”(Win32): 已加载“C:\Windows\SysWOW64\vcruntime140d.dll”。
“E5P2.exe”(Win32): 已加载“C:\Windows\SysWOW64\ucrtbased.dll”。
线程 0x15f8 已退出,返回值为 0 (0x0)。
“E5P2.exe”(Win32): 已加载“C:\Windows\SysWOW64\kernel.appcore.dll”。
“E5P2.exe”(Win32): 已加载“C:\Windows\SysWOW64\msvcrt.dll”。
“E5P2.exe”(Win32): 已加载“C:\Windows\SysWOW64\rpcrt4.dll”。
线程 0x257c 已退出,返回值为 0 (0x0)。
线程 0x1874 已退出,返回值为 0 (0x0)。
程序“[9028] E5P2.exe”已退出,返回值为 0 (0x0)。
虽然能够正常调试,main函数的return0前添加system(“pause”)也能运行.exe文件。
不影响学习,但是着实很难受,请问该怎么处理。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-8-21 08:04:15 From FishC Mobile | 显示全部楼层
那就使用新函数呗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-8-21 08:21:47 | 显示全部楼层
使用新函数   旧函数弃用了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-22 00:53

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表