Dun*_*oit 15 c deprecated
在某个地方,我在大学里做过一些C和C++,但是我并没有太多关注C++.现在我想关注C++,但是当我使用该getch()
函数时,我会从下面收到警告.
警告C4996:'getch':不推荐使用此项目的POSIX名称.而是使用符合ISO C++的名称:_getch.详细信息请参见在线帮助.
现在,我正在使用VS 2005 express,我不知道如何处理这个警告.我需要getch()
在printf()
错误消息或其他需要密钥命中的内容之后使用.
你能帮帮我吗?
Joh*_*itb 23
Microsoft决定在不使用下划线的情况下标记名称,因为这些名称是为程序员选择保留的.如果实现特定扩展要遵守C或C++标准,则应使用以全局命名空间中的下划线开头的名称 - 或者它们应将自身标记为符合标准的组合环境,例如POSIX/ANSI/ISO C,其中函数然后对应于那些标准之一.
阅读关于getcwd()的这个答案也是如此,PJ Plauger的解释当然是非常了解的东西.
如果您只想等待用户键入的某些键,则没有理由不使用getchar
.但有时它对用户_getch
和朋友来说更实用和方便.但是,这些不是由C或C++标准指定的,因此会限制程序的可移植性.记在脑子里.