关于linux中getch()的用法

时间:2021-07-03 16:14:48
我用getch()就是为了输入密码时不回显。
我在文件中加了头文件#include<curses.h>
可还是编译错误,执行gcc后显示如下:
/tmp/ccH4MH80.o(.text+0x4e): In function `main': 
: the `gets' function is dangerous and should not be used. 
/tmp/ccH4MH80.o(.text+0xc2): In function `main': 
: undefined reference to `stdscr' 
/tmp/ccH4MH80.o(.text+0xcc): In function `main': 
: undefined reference to `wgetch' 
collect2: ld returned 1 exit status
不知何故,望高手指点。

7 个解决方案

#1


getpass好像不好一个一个字符的输吧,不好同步

我刚开始在linux下编程,实在是菜鸟一个

我明天结贴,各位还有没有建议了,最好具体一点,多谢.

#2


?什么意思?我给你的setecho不好用吗?
setecho(STDIN_FILENO, 0); //关闭回显
...//循环读取字符、输出*
setecho(STDIN_FILENO, 1); //恢复回显

#3


to fierygnu(va_list):
呵呵,不是啊,我刚转到linux编程,你的程序注释太少, 
term.c_lflag |= ECHOFLAGS;

term.c_lflag &= ~ECHOFLAGS;这样的句子我看不懂

#4


看《UNIX环境高级编程》,网上有中文电子版。

#5


或者到bbs.itebook.net找《Unix Systems Programming》,我的这段代码来自此书。

#6


hehe,我刚买了《UNIX环境高级编程》英文版,第一章还没看完呢,效率太低了

#7


#include <stdio.h>
#include <curses.h>

void init()
{
initscr(); /* 对curses包进行初始化,每个程序中只能调用一次 */
cbreak(); /* 打开立即输入模式 */
nonl(); /* 回车键不产生'\n' */
noecho(); /* 关闭回显模式,默认情况是打开的。 */
}

void quit()
{
endwin();
delwin(stdscr);
putchar('\n');
}

void main()
{
int c;

init();

while ((c = getch()) != 27 /* ESC */) {
addch(c);
}

quit();
}

#1


getpass好像不好一个一个字符的输吧,不好同步

我刚开始在linux下编程,实在是菜鸟一个

我明天结贴,各位还有没有建议了,最好具体一点,多谢.

#2


?什么意思?我给你的setecho不好用吗?
setecho(STDIN_FILENO, 0); //关闭回显
...//循环读取字符、输出*
setecho(STDIN_FILENO, 1); //恢复回显

#3


to fierygnu(va_list):
呵呵,不是啊,我刚转到linux编程,你的程序注释太少, 
term.c_lflag |= ECHOFLAGS;

term.c_lflag &= ~ECHOFLAGS;这样的句子我看不懂

#4


看《UNIX环境高级编程》,网上有中文电子版。

#5


或者到bbs.itebook.net找《Unix Systems Programming》,我的这段代码来自此书。

#6


hehe,我刚买了《UNIX环境高级编程》英文版,第一章还没看完呢,效率太低了

#7


#include <stdio.h>
#include <curses.h>

void init()
{
initscr(); /* 对curses包进行初始化,每个程序中只能调用一次 */
cbreak(); /* 打开立即输入模式 */
nonl(); /* 回车键不产生'\n' */
noecho(); /* 关闭回显模式,默认情况是打开的。 */
}

void quit()
{
endwin();
delwin(stdscr);
putchar('\n');
}

void main()
{
int c;

init();

while ((c = getch()) != 27 /* ESC */) {
addch(c);
}

quit();
}

相关文章