声明getch()函数

时间:2016-12-31 09:53:12

标签: c++

#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()

5 个答案:

答案 0 :(得分:2)

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

但是如果你想要可移植性,你应该将简单程序限制为标准功能。

stdio.h等效为getchar

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

答案 1 :(得分:1)

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

#include <conio.h>

另一件事是,既然你说你使用的是DevC ++,就不需要使用getch()函数,因为DevC ++会在控制台退出之前暂停你的程序。

答案 2 :(得分:0)

只需包含SqlConnection con = new SqlConnection(connectionstring); SqlCommand cmd = new SqlCommand("SELECT * FROM Users Where Name ='" txtusername.Text + "' AND Password='" + txtpassword.Text + "'", con); con.Open(); SqlDataReader sdr = cmd.ExecuteReader(); if (sdr.Read() == true) { try bool Admin = Convert.ToBoolean(sdr["Admin"]); isadmin = Admin; Response.Redirect("InserRecord.aspx"); } ,您的所有问题都将得到排序。 即<conio.h>

答案 3 :(得分:0)

如果您有类似“ getch”的问题,则不在此范围内声明。我回答这个问题 请使用.c之类的小c文件保存文件扩展名 eg-add.c / 这是正确的方法 / add.C / 如果您这样保存,则在此范围内未声明错误“ getch” /

答案 4 :(得分:-1)

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

最好与C ++而不是C一起使用,后者选择getch()