这些天我在Ubuntu上工作。当我使用gcc编译我的C程序时,它给出了错误conio.h
不存在。
我想使用clrscr()
和getch()
函数。
你能否告诉我这个头文件在linux中的替代品。
答案 0 :(得分:3)
可以在getch()
中找到curses.h
函数(库" curses")。同一个库提供清除屏幕的功能。看看这些链接:
答案 1 :(得分:1)
system("clear");
可以在 linux 中使用,而不是clrscr();
答案 2 :(得分:1)
# include <curses.h>
int erase(void);
int werase(WINDOW *win);
int clear(void);
int wclear(WINDOW *win);
int clrtobot(void);
int wclrtobot(WINDOW *win);
int clrtoeol(void);
int wclrtoeol(WINDOW *win);
DESCRIPTION
The erase and werase routines copy blanks to every position in
the window, clearing the screen.
我猜这个问题反复被低估,因为它意味着对基本C语言特性的理解不足和/或OP只是将代码复制/粘贴到编辑器/ IDE中。
同样,只需在代码中使用system("exit");
:
#include<stdlib.h>
main()
{
system("clear"); //clears the screen
}
检查手册页显示:
SYSTEM(3) Linux Programmer's Manual SYSTEM(3)
NAME
system - execute a shell command
SYNOPSIS
#include <stdlib.h>
int system(const char *command);
DESCRIPTION
system() executes a command specified in command by calling /bin/sh -c
command, and returns after the command has been completed.
During execution of the command, SIGCHLD will be blocked, and SIGINT
and SIGQUIT will be ignored.
也可能是这个问题可能与以下内容重复:
最后,请查看以下内容以获取更多详细信息和示例:
答案 3 :(得分:0)
显然你没有尝试谷歌搜索。
没有直接的选择。
此博文:http://wesley.vidiqatch.org/code-snippets/alternative-for-getch-and-getche-on-linux/为您提供了getch()
和getche()
或者,您可以使用libncurses执行您想要的操作:http://tech.dir.groups.yahoo.com/group/linux/message/29221
答案 4 :(得分:0)
curses.h是conio.h的替代方案。 安装build-essentials并安装libncurses5-dev。
然后你可以使用这些功能。 [http://ubuntuforums.org/showthread.php?t=880601] [1]
答案 5 :(得分:0)
我正在修补一些代码;安装ncurses之后,我插入了这些代码:
#include <stdio.h>
#include <ncurses.h>
main ()
{
system ("clear");
getchar ();
}
答案 6 :(得分:0)
还有另一种方法可以通过C代码而不是系统调用来实现。
void clrscr(void) {
fprintf(stdout, "\033[2J\033[0;0f");
fflush(stdout);
}
我很久以前就找到了它,并且我已经成功地在raspbian上检查了它。
还有:
void gotoxy(int x, int y) {
printf("%c[%d;%df",0x1B, y, x);
}
我希望它可以帮到你。
问候。
答案 7 :(得分:0)
在G ++编译器中,我们使用system("clear")
头文件中定义的stdlib.h
函数
#include<iostream>
#include<stdlib.h>
int main() {
std::cout<<"Hello Aliens:";
system("clear");
}