warning C4996: “getch”被声明为否决的

老是出现这种警告,我是用的VS2005,语言是C!像这种“xxx”被声明为否决的应该怎样改?急~·

第1个回答  2012-01-16
这种警告是因为VS的C函数库有更新的安全版本,
如果源码只打算用VS编译可以改为使用安全版本
比如scanf改为scanf_s
如果需要使用其他编译器编译,就无视吧

如果你getch() 是为了暂停程序以便观察结果,并且你的源码并不打算用其他编译器编译
可以使用system("pause");替换getch();效果就是暂停程序并显示 "请按任意键继续. . ."

warning C4996: 'getch': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _getch. See online help for details.
我的VS2005打过SP1补丁,这是打了补丁之后的警告,可以看到微软建议用_getch() 替换getch()追问

如果遇到其他的函数应该怎么改啊?
我看到有的解答说是加"_s"就行,但“getch()”就不是这么改的
求指点

本回答被提问者采纳
第2个回答  2012-01-16
#include<conio.h> //在最前面加上这行!追问

大哥

我加了这个头文件的

需要源码么?

相似回答