用curses实现Hello world! 的两个例子

第一次使用这个库,感觉就跟从泥土里爬出来一样,原来跟终端打交道还能这么简单……在这里,我把《Unix/Linux编程实践教程》的内容整理一下,并附上两个Hello world例子的代码。

1.这个库一般要自己安装

安装,在终端里输入:

sudo apt-get install libncurses5-dev

在编译的时候在编译选项中添加一项: -lncurses

如: gcc screen1.c -o screen1 -lncurses

2.库的使用流程及用到的函数
  • 初始化 initscr()
  • 清屏 clear()
  • 操作:移动光标 move(r,c); 添加字符串 addstr(s)、字符 addch(c);反色开启、关闭 standout()、standend()
  • 刷新屏幕 refresh()
  • 关闭 initscr()

都是现成的,我们只要加入 curses.h,直接调用就好。是不是很容易、很灵活?

3.Hello world 1

效果如下:

代码如下:

[c]

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

main()
{
initscr();
clear();
move(10,20);
addstr("Hello,world");
move(LINES-1,0);
refresh();
getch();
endwin();
}

[/c]

4.Hello world 2

效果如下:

代码如下:

[c]

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

main()
{
int i;

initscr();
clear();
for(i=0;i<LINES;i++){
move(i,i+i);
if(i%2 == 1)
standout();
addstr("Hello,World");
if(i%2 == 1)
standend();
}
refresh();
getch();
endwin();
}

[/c]