重庆熊猫 Loading

在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后缀。

posted @ 2022-05-07 08:11  重庆熊猫  阅读(775)  评论(0)    收藏  举报