Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/157.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 声明getch()函数_C++_C - Fatal编程技术网

C++ 声明getch()函数

C++ 声明getch()函数,c++,c,C++,C,为什么DevC++编译器要求我声明getch?因为getch不是一个标准函数。因此,不是在stdio.h。在某些平台上,它是在conio.h中定义的。您的编译器正在抱怨,因为在您使用它之前,它没有看到getch的声明 但是如果你想要可移植性,你应该把你的简单程序限制在标准的功能上 stdio.h等价物是getchar 我还想补充一点,您的程序不是惯用的。它是用C++编译器编译的。 嗯,这很简单……你正在尝试使用一个函数,但是你没有告诉编译器它的签名是什么。由于getch和getche函数都是在c

为什么DevC++编译器要求我声明getch?

因为getch不是一个标准函数。因此,不是在stdio.h。在某些平台上,它是在conio.h中定义的。您的编译器正在抱怨,因为在您使用它之前,它没有看到getch的声明

但是如果你想要可移植性,你应该把你的简单程序限制在标准的功能上

stdio.h等价物是getchar


我还想补充一点,您的程序不是惯用的。它是用C++编译器编译的。

嗯,这很简单……你正在尝试使用一个函数,但是你没有告诉编译器它的签名是什么。由于getch和getche函数都是在conio.h头中声明的,编译器会抱怨您没有声明函数。简而言之,您需要添加:

#include<stdio.h>
void main()
{
    char name[20];
    printf("Enter your name : ");
    scanf("%s",&name);
    printf("your name is %s\n",name);
    getch();
}
另一件事是,既然您说您使用的是DevC++,就没有必要使用getch函数,因为DevC++会在控制台退出之前暂停您的程序。

只需包含,您的所有问题都会得到解决。 i、 e.包括

@StoryTeller-Unslander是正确的: getchar函数从键盘读取字符


最好用C++代替C,它选择GECH

< P>如果你在“范围”中没有声明“GECH”这样的问题,那么我回答这个问题 请使用小的c like.c保存文件扩展名 这是正确的方法/
add.C/如果这样保存,则会出现错误“getch”未在此范围内声明/

代码中的gets函数在哪里?在问这个问题之前,你搜索过getch是什么吗?至少要学习,而不是一些早期的标准。阅读并使用C++ 11兼容编译器,例如最近的编译器,这两个都是编译器。为什么当代码完全是C?@ PeteBecker时,这个标记的C++是因为代码是由C++编译器编译的?C编译器有一个中等的机会,不会抱怨C90模式下工作,但是C++编译器必须抱怨。这是一个边界的情况,代码不好,C空,主要是在C和C++中加上了硬链接或好的C++。标签的选择很混乱;后者要求使用返回键;“格奇没有,好吧。”乔纳坦利弗勒——没错。但是为了暂停程序,OP需要等待用户的任意键。我认为它们是等价的。欢迎来到Stackoverflow!你能详述你的答案吗?这篇文章提供了哪些新内容,而其他答题文章没有?什么?请尽量用直接的句子回答。这是不可读的。
#include <conio.h>