在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()函数?不应该啊。上网查一下,各种各样的说法,都没有解决问题。
解决办法
最后重新建了一个Visual C++ 6.0再把代码复制进来,居然可以运行了。通过对比发现之前是直接把.c后缀的文件拖进来,vc6.0的.c后缀文件中没法使用gets()函数,需要文件名为.cpp后缀才可以。所以:
把.c后缀的源代码文件改为.cpp后缀。
本文来自博客园,作者:重庆熊猫,转载请注明原文链接:https://www.cnblogs.com/cqpanda/p/16240978.html