在Visual C++ 6.0中无法使用gets()函数的解决办法

问题#

昨晚遇到一个有意思的问题,明明在Visual Studio 2019运行好好的C语言代码,Copy到Visual C++ 6.0中就无法编译通过了,错误提示信息如下:

error C2143: syntax error : missing ';' before 'type'

这就有意思了,明明在Visual Studio 2019中运行的好好的,复制到Visual C++ 6.0就报错缺少分号呢,哈哈。
通过错误信息定位到代码的具体位置,发现错误都是在gets函数的下一行中。只要把gets注释掉就可以编译通过。难道是Visual C++ 6.0中不支持gets()函数?不应该啊。上网查一下,各种各样的说法,都没有解决问题。

image

解决办法#

最后重新建了一个Visual C++ 6.0再把代码复制进来,居然可以运行了。通过对比发现之前是直接把.c后缀的文件拖进来,vc6.0的.c后缀文件中没法使用gets()函数,需要文件名为.cpp后缀才可以。所以:

把.c后缀的源代码文件改为.cpp后缀。

作者:重庆熊猫

出处:https://www.cnblogs.com/cqpanda/p/16240978.html

版权:本作品采用「不论是否商业使用都不允许转载,否则按3元1字进行收取费用」许可协议进行许可。

posted @   重庆熊猫  阅读(740)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET10 - 预览版1新功能体验(一)
more_horiz
keyboard_arrow_up light_mode palette
选择主题
menu
点击右上角即可分享
微信分享提示