在屏幕的最下面一行输入字符串,然后在上方新建一个窗口将字符串显示出来,显示的字符串很多,所以可能需要给窗口设置滚屏,可是试了好多种办法都不能实现,请问有人知道怎么做吗?
#include <ncurses.h>
int main(int argc, char *argv[])
{
initscr();
int lines, cols;
getmaxyx(stdscr, lines, cols);
WINDOW *my_win = newwin(lines-3,cols,0,0);
scroll(my_win);
//下面的两行是针对滚屏的设置,但是没有效果
scrollok(my_win, TRUE);
wsetscrreg(my_win, 0, lines);
box(my_win, ACS_VLINE, ACS_HLINE);
refresh();
wrefresh(my_win);
char str[256];
int x = 0;
while(1)
{
mvwprintw(stdscr, LINES-1, 0, "Enter string: ");
getstr(str);
mvwprintw(my_win, x, 0, "You Entered: %s", str); //从屏幕最上方往下依次显示字符串
refresh();
wrefresh(my_win);
x++;
}
getch();
endwin();
return 0;
}
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.