ncurses

    0熱度

    1回答

    我的遊戲的主循環依賴於來自getnstr的非阻塞讀取。在繼續進行剩餘的循環之前,它會檢查它讀取的字符串是否具有非零長度(如果存在,我找不到用於獲取此行爲的約定)。 問題是,它具有強制輸入光標在窗口底部的效果,就好像我有垃圾郵件輸入或其他東西。 char command[5]; timeout(0); while (getnstr(command, 4) && gameActiv

    0熱度

    1回答

    我在C prog中使用ncurses,我想使用getch()來捕獲箭頭鍵和轉義鍵。 我使用newterm,原始模式,noecho模式和鍵盤設置爲TRUE以正確使用getch。 我很容易得到箭頭或每個鍵的關鍵代碼,但是當我按下轉義鍵時,我知道getch設置一個約1秒的計時器來檢查是否沒有其他鍵被按下。 您是否認爲延遲可能會被刪除或設置爲零? 人或IBM文檔說這不是有益的嘗試趕上與殘培逃跑的時候,你在

    1熱度

    1回答

    當我運行此代碼: #include <iostream> #include "ncurses.h" using namespace std; std::string getstring() { std::string input; nocbreak(); echo(); int ch = getch(); while (ch != '\

    2熱度

    1回答

    我將字符串添加到窗口,並且在連續行中使用waddwstr()函數,一行接一行。我不希望ncurses爲我自動換行 - 我用連續呼叫覆蓋它們到waddwstr(),有時前一行的尾部會顯示。當窗口的右邊緣到達時,ncurses可以停止嗎?

    2熱度

    1回答

    我爲curses表單對象構建了一個通用包裝器,以便與我正在處理的大型 模擬項目一起使用。 基本上,我實例化一個generic_form對象,添加一些字段和它們的 描述,然後給它一個焦點,並獲得用戶輸入一個fill_form()例程。因爲每個對象都可以多次使用,也就是說,fill_form()可能會在每個實例化中被調用多次,所以我需要在fill_form()例程的開頭清除字段緩衝區。目前,我使用這個

    2熱度

    1回答

    刪除前導空格後,邊框不會被打亂(它只會被覆蓋,並且我可以通過創建額外的窗口來解決)。一般而言,顯示寬度1和顯示寬度2個字符(亞洲字符具有寬度2)之間存在相互作用,並且也在起始光標位置的奇偶性之間存在相互作用。如果某些總體奇偶校驗未完成,則在其附近打印字符時會導致邊界中斷。這是OS X El Captain,libncurses.5.4.dylib。在Ubuntu這個問題不存在。 wchar_t h

    0熱度

    1回答

    我已經編寫了一個程序,它使用ncurses作爲用戶界面,函數mvwgetnstr可以從窗口中讀取字符串。我想允許用戶對他們輸入的文本進行編輯,所以如果他們輸入foo,他們可以稍後返回並追加bar。我無法弄清楚如何使用curses API執行此操作,getnstr函數僅接受char緩衝區和長度變量。有任何想法嗎?我開始製作自己的字符串輸入函數,但很難將所有內容都限制在窗口內。

    0熱度

    1回答

    我發現一個問題,下面的代碼: int ch = 0; WINDOW *new_window(int x, int y, int w, int h) { WINDOW *win; win = newwin(h, w, y, x); box(win, '|', '-'); return win; } int remove_window(WINDOW *

    0熱度

    2回答

    因此,我使用的是Ubuntu 14.04 LTS,並且我在使用Eclipse CDT編譯代碼以及在使用終端執行的文本編輯器中編寫通用C程序時意識到系統沒有安裝'conio.h'庫文件。 我讀了它,作爲替代方法,試圖利用'ncurses.h'文件和它的功能,但它告訴我沒有這樣的庫文件。 現在我想知道是否有可能我的GCC有問題,或者這是一個常見問題,可以通過手動安裝這兩個文件來解決? 編輯:所以它的工

    0熱度

    2回答

    我正在爲應用程序編寫ncurses GUI。我曾在一個文件admin.py下面的代碼: #-*- coding: utf-8 -*- import curses.textpad from gui_helpers import * import global_vars as g def parse_command(win, command): # print_str(win,