我在文件中加了头文件#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下编程,实在是菜鸟一个
我明天结贴,各位还有没有建议了,最好具体一点,多谢.
我刚开始在linux下编程,实在是菜鸟一个
我明天结贴,各位还有没有建议了,最好具体一点,多谢.
#2
?什么意思?我给你的setecho不好用吗?
setecho(STDIN_FILENO, 0); //关闭回显
...//循环读取字符、输出*
setecho(STDIN_FILENO, 1); //恢复回显
setecho(STDIN_FILENO, 0); //关闭回显
...//循环读取字符、输出*
setecho(STDIN_FILENO, 1); //恢复回显
#3
to fierygnu(va_list):
呵呵,不是啊,我刚转到linux编程,你的程序注释太少,
term.c_lflag |= ECHOFLAGS;
term.c_lflag &= ~ECHOFLAGS;这样的句子我看不懂
呵呵,不是啊,我刚转到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();
}
#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下编程,实在是菜鸟一个
我明天结贴,各位还有没有建议了,最好具体一点,多谢.
我刚开始在linux下编程,实在是菜鸟一个
我明天结贴,各位还有没有建议了,最好具体一点,多谢.
#2
?什么意思?我给你的setecho不好用吗?
setecho(STDIN_FILENO, 0); //关闭回显
...//循环读取字符、输出*
setecho(STDIN_FILENO, 1); //恢复回显
setecho(STDIN_FILENO, 0); //关闭回显
...//循环读取字符、输出*
setecho(STDIN_FILENO, 1); //恢复回显
#3
to fierygnu(va_list):
呵呵,不是啊,我刚转到linux编程,你的程序注释太少,
term.c_lflag |= ECHOFLAGS;
term.c_lflag &= ~ECHOFLAGS;这样的句子我看不懂
呵呵,不是啊,我刚转到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();
}
#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();
}