如何解决该错误 C4996 'getch': The POSIX name for this item is deprecated. Instead, use the ISO C and C++ conformant name: _getch. See online help for details
时间: 2024-02-25 20:58:03 浏览: 442
这个错误提示是因为使用了废弃的函数getch,应该使用替代函数_getch来代替。解决方法如下:
1. 在代码中将所有的getch函数都替换为_getch函数,直接搜索并替换即可。
2. 在代码文件头部添加以下代码:
```c++
#define _CRT_SECURE_NO_WARNINGS
#include <conio.h>
```
这样就可以使用getch函数,而不会出现编译错误。
3. 可以使用getch的替代函数getchar(),这个函数是标准C库函数,不需要添加任何头文件。将所有的getch函数替换为getchar()即可。
总之,推荐使用第二种方法,因为它是最简单、最安全的解决方法。
相关问题
PROGRAM P ( input , output ); const norw=13; var 1,k:integer; var word : ARRAY [1.: norw ] of char ; Procedure getsym ; var i , j : integer ; procedure getch ( word : real ); begin ... end ;| getch | begin ... i :=1; k := i + j ; ... end ;[ getsym |
同样地,这个程序仍然是不完整的,缺失了一些关键的部分。但是可以看出,`getsym` 过程的实现可能会使用 `getch` 过程来获取字符,并且 `i` 变量被初始化为 1,`k` 变量被初始化为 `i+j` 的结果。这个程序的结构类似于一个主程序和两个子程序,其中主程序使用 `begin` 和 `end` 包围,子程序则使用单独的 `procedure` 和 `end` 包围。如果您能提供更多的上下文或者完整的程序,我可以更好地回答您的问题。
首先PROGRAM P ( input , output ); const norw=13; var 1,k:integer; var word : ARRAY [1.: norw ] of char ; Procedure getsym ; var i , j : integer ; procedure getch ( word : real ); begin ... end ;| getch | begin ... i :=1; k := i + j ; ... end ;[ getsym |
很抱歉,这段 Pascal 代码是错误的,无法执行。其中有几个问题:
1. `var 1,k:integer;` 这一行是错误的,变量名不能以数字开头。应该修改为 `var i,k:integer;` 或者其他合法的变量名。
2. `var word : ARRAY [1.: norw ] of char ;` 这一行也是错误的,数组的下标必须是整型,而 `1.` 是一个浮点数。应该修改为 `var word : ARRAY [1..norw] of char;`。
3. 在 `getsym` 这个过程中,定义了一个名为 `getch` 的内部过程,但是这个内部过程的实现被省略了,需要补充完整才能使代码正确。
因此,如果您想让我解释这段代码的含义,需要先修正这些错误。
阅读全文