码迷,mamicode.com
首页 > 其他好文 > 详细

Ncurses库(一):库操作及函数使用

时间:2021-01-11 11:24:57      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:echo   max   不显示   clu   clear   状态   并且   article   tty   

1、initscr()函数:

1 initscr()用于初始化ncurses数据结构并读取正确的terminfo文件。内存将被分配。
2 
3 如果发生错误,initscr将返回ERR,否则将返回指针。
4 
5 此外,屏幕将被删除并初始化。

2、getyx() 函数:

getyx() 函数可以用来取得当前光标的位置。并把它存储在传递给它的两个变量中。

3、vprintw()函数:

在指定的坐标输出

4、refresh()函数:

更新终端屏幕

5、endwin()函数:

1 endwin()将清除ncurses中所有已分配的资源,并将tty模式恢复为调用initscr()之前的状态。
2 必须在ncurses库中的任何其他函数之前调用他,并且必须在程序退出之前调用endwin()
3 当您想要输出到多个终端时,可以使用newterm(...),而不是initscr()

 

下面的代码可以实现一个小球滚来滚去

 1 #include <ncurses.h>
 2 #include <unistd.h>
 3 
 4 #define DELAY 30000
 5 
 6 int main(int argc, char *argv[])
 7 {
 8     int x = 0;
 9     int y = 0;
10     int max_x = 0,max_y = 0;
11     int next_x = 0;
12     int direction = 1;
13     
14     initscr(); /* 初始化屏幕 */
15     
16     noecho(); /* 屏幕上不返回任何按键 */
17     
18     curs_set(FALSE); /* 不显示光标 */
19         
20     /* getmaxyx(stdscr, max_y, max_x);/* 获取屏幕尺寸 */ 
21 
22     mvprintw(5, 5, "Hello, world!");
23     
24     refresh(); /* 更新显示器 */
25     
26     sleep(1);
27     
28     while(1)
29         {
30             getmaxyx(stdscr, max_y, max_x);/* 获取屏幕尺寸 */
31             clear(); /* 清屏 */
32             mvprintw(y, x, "O");
33             refresh();
34             
35             usleep(DELAY);
36             
37             next_x = x + direction; 
38             
39             if(next_x >= max_x || next_x < 0)
40             {
41                 direction = (-1) * direction;
42             }
43             else
44             {
45                 x = x + direction;
46             }
47         }
48     endwin();  /* 恢复终端 */
49 }

 

参考博客:https://blog.csdn.net/weixin_38184741/article/details/86065784?utm_medium=distribute.pc_relevant_download.none-task-blog-baidujs-2.nonecase&depth_1-utm_source=distribute.pc_relevant_download.none-task-blog-baidujs-2.nonecase
参考博客:[https://www.viget.com/articles/game-programming-in-c-with-the-ncurses-library/]


Ncurses库(一):库操作及函数使用

标签:echo   max   不显示   clu   clear   状态   并且   article   tty   

原文地址:https://www.cnblogs.com/zhongllmm/p/14253908.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!