由于项目的需要,本人于15年元旦研究研究了curse库,关于学习这库谈谈自己的感想。悲剧的是curse输出中文会半乱码,我试了几种方法都没解决,还是有点烦躁的。
curse库学起来很简单,但是很多人因为怕学,就畏惧了。其实不妨从最基本的几个函数敲起来,你就可以看到成果,接着,学习兴趣就来了。
curse库,开写时先将 <cureses.h>include 进来.当您引进 curses.h 这个函式库後, 系统会自动将 <stdio.h>和 <unctl.h>一并 include 进来
接着我们看个小程序学习。。
大家可以复制这个代码编译运行试试,不过记得编译时 gcc 要-lcurses 因为要链接该库
#include <curses.h>
int main()
{
WINDOW *new_window_ptr;
WINDOW *new_window_ptr2;
WINDOW *scan_win;
WINDOW *help_win;
initscr();
echo();
char str[20];
new_window_ptr = newwin(20, 18, 0, 0); //创建4个窗口
new_window_ptr2 = newwin(20, 40, 0, 20);
scan_win = newwin(5,40,20,20);
help_win = newwin(20,18,0,62);
box(scan_win, ACS_VLINE, ACS_HLINE); //给4个窗口画框 很有趣
box(new_window_ptr, ACS_VLINE, ACS_HLINE);
box(new_window_ptr2, ACS_VLINE, ACS_HLINE);
box(help_win, ACS_VLINE, ACS_HLINE);
refresh();
mvwscanw(scan_win,1,2,"%s",str);
mvwprintw(new_window_ptr, 1, 1, "%s", str);
wrefresh(new_window_ptr);
mvwprintw(scan_win, 1, 1, " ");
refresh();
echo();
mvwscanw(scan_win,2,2,"%s",str);
mvwprintw(new_window_ptr2, 1, 1, "%s", str);
mvwprintw(help_win, 1, 1, "help");
refresh();
wrefresh(new_window_ptr);
wrefresh(new_window_ptr2);
wrefresh(help_win);
sleep(10);
endwin();
exit(1);
return 0;
}