devc++如何在调试时输入有回显
时间: 2023-11-12 08:03:39 浏览: 76
DEVC++调试方法
3星 · 编辑精心推荐
在调试过程中,你可以在代码中使用`printf`语句打印出调试信息,以便更好地追踪代码的执行情况。如果需要在输入时实现回显,则需要使用类似于以下代码的函数:
```c
#include <stdio.h>
#include <stdlib.h>
#include <termios.h>
#include <unistd.h>
#include <errno.h>
static struct termios old, new;
/* Initialize new terminal i/o settings */
void init_termios(int echo) {
tcgetattr(0, &old); /* grab old terminal i/o settings */
new = old; /* make new settings same as old settings */
new.c_lflag &= ~ICANON; /* disable buffered i/o */
new.c_lflag &= echo ? ECHO : ~ECHO; /* set echo mode */
tcsetattr(0, TCSANOW, &new); /* use these new terminal i/o settings now */
}
/* Restore old terminal i/o settings */
void reset_termios() {
tcsetattr(0, TCSANOW, &old);
}
/* Read 1 character - echo defines echo mode */
char getch_(int echo) {
char ch;
init_termios(echo);
ch = getchar();
reset_termios();
return ch;
}
/* Read 1 character without echo */
char getch() {
return getch_(0);
}
/* Read 1 character with echo */
char getche() {
return getch_(1);
}
```
你可以在需要的时候调用`getche()`来读取输入并实现回显。注意,如果需要禁用缓冲输入,可以使用`setbuf(stdin, NULL)`来设置输入缓冲区大小为0。
阅读全文