中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Linux ncurses怎么用

發布時間:2022-01-27 14:30:51 來源:億速云 閱讀:208 作者:iii 欄目:開發技術

這篇“Linux ncurses怎么用”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“Linux ncurses怎么用”文章吧。

ncurses(new curses)是一套編程庫,它提供了一系列的函數以便使用者調用它們去生成基于文本的用戶界面。 ncurses名字中的n意味著“new”,因為它是curses的自由軟件版本。由于AT&T“臭名昭著”的版權政策,人們不得不在后來用ncurses去代替它。

Linux ncurses怎么用

需要在ubuntu系統上安裝庫文件,支持ncurses:

apt-get install libncurses5-dev

initscr()函數:

initscr()用于初始化ncurses數據結構并讀取正確的terminfo文件。內存將被分配。

如果發生錯誤,initscr將返回ERR,否則將返回指針。

此外,屏幕將被刪除并初始化。

getyx() 函數:

getyx() 函數可以用來取得當前光標的位置。并把它存儲在傳遞給它的兩個變量中。

mvprintw()函數:

在指定的坐標輸出

refresh()函數:

更新終端屏幕

endwin()函數:

endwin()將清除ncurses中所有已分配的資源,并將tty模式恢復為調用initscr()之前的狀態 。

必須在ncurses庫中的任何其他函數之前調用它,并且必須在程序退出之前調用endwin()。

當您想要輸出到多個終端時,可以使用 newterm(...)而不是initscr()。

下面的代碼可以實現一個模擬的“球”在屏幕上來回反彈。 代碼參考: [https://www.viget.com/articles/game-programming-in-c-with-the-ncurses-library/]

源程序:

#include #include #define DELAY 30000int main(int argc, char *argv[])
{
int x = 0;
int y = 0;
int max_x = 0,max_y = 0;
int next_x = 0;
int direction = 1;

initscr(); /* 初始化屏幕 */

noecho(); /* 屏幕上不返回任何按鍵 */

curs_set(FALSE); /* 不顯示光標 */
 
/* getmaxyx(stdscr, max_y, max_x);/* 獲取屏幕尺寸 */

mvprintw(5, 5, "Hello, world!");

refresh(); /* 更新顯示器 */

sleep(1);while(1)
 {
  getmaxyx(stdscr, max_y, max_x);/* 獲取屏幕尺寸 */
  clear(); /* 清屏 */
  mvprintw(y, x, "O");
  refresh();
 
  usleep(DELAY);
 
  next_x = x + direction;
 
  if(next_x >= max_x || next_x else
  {
   x = x + direction;
  }
 }
endwin();  /* 恢復終端 */
}

Makefile:

# Makefilecc=gcc

LDFLAGS=-lncurses

SRCS := $(wildcard *.c)
TARGET := $(SRCS:%.c=%)

$(TARGET):$(SRCS)
$(cc) $(LDFLAGS) $(SRCS) -o $(TARGET)

clean:
rm $(TARGET)

以上就是關于“Linux ncurses怎么用”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

霞浦县| 三门峡市| 云阳县| 花莲市| 镇坪县| 绥中县| 健康| 孝昌县| 曲沃县| 林周县| 全椒县| 习水县| 鄂托克旗| 微山县| 冷水江市| 保亭| 盐山县| 大石桥市| 宿迁市| 理塘县| 汤阴县| 桐柏县| 辉南县| 通化市| 宜兰县| 平远县| 岱山县| 榆社县| 江华| 大英县| 平南县| 固镇县| 札达县| 英德市| 江源县| 鲁甸县| 铁力市| 凤翔县| 镇赉县| 轮台县| 壶关县|