G++编译程序导入getch()函数,getch


笔记:ubuntu下G++编译C++程序导入getch()函数(等待标准输入一个值之后程序才继续运行,非标准函数)导入库的问题,GCC中没有<conio.h>函数库,所以需导入<curses.h>并使用g++ -o test -lncurses test.cpp编译,如果还是报错找不到函数,使用sudo apt-get install libncurses5-dev安装头文件。


C语言getch()问题

getch();并非标准C中的函数,不存在C语言中。!!
所在头文件:conio.h
建议换成getchar()之类的

getch()
getch():
所在头文件:conio.h
函数用途:从控制台读取一个字符,但不显示在屏幕上
函数原型:int getch(void)
返回值:读取的字符
例如:
char ch;或int ch;
getch();或ch=getch();
用getch();会等待你按下任意键,再继续执行下面的语句;
用ch=getch();会等待你按下任意键之后,把该键字符所对应的ASCII码赋给ch,再执行下面的语句。
易错点:1.所在头文件是conio.h。而不是stdio.h。
2.在使用之前要调用initscr(),结束时要调用endwin()。否则会出现不输入字符这个函数
也会返回的情况。
getch();并非标准C中的函数,不存在C语言中。所以在使用的时候要注意程序的可移植性。国内C语言新手常常使用getch();来暂停程序且不知道此函数来源,建议使用getchar();(如果情况允许)代替此功能或更换一款编译器。
 

我编的C程序运行时一闪而过,加入getch();就不可以通过编译

编译器不同用到的函数也不一样
楼主可以用system("pause");代替getch();

#include <stdio.h>

int main()
{
int n,i,sum;

printf("请输入一个自然数:");
scanf("%d",&n);

for (i=1,sum=0;i<=n;i++)
sum+=i;
printf("从1到%d的连续自然数之和为: %d\n",n,sum);
system("pause");
return 0;
}
 

相关内容

    暂无相关文章