2
我正在使用ncurses庫編寫控制檯應用程序。我有一個函數是假設寫入窗口緩衝區,然後刷新窗口。在我的測試函數中,我調用窗口函數,併發生了一些事情,因爲程序移動到下一行(getch(),它只是等待我的一個字符),但沒有顯示任何內容。Ncurses窗口不顯示任何東西
這裏是我的功能:
void UI::drawAudience(int audience1, int audience2)
{
string bar1 = "", bar2 = "";
for (int i; i < BAR_SIZE; i++)
{
bar1 += (i <= audience1) ? ' ' : '+';
if (i <= audience2)
bar2 += '+';
}
string audienceName = "Audience Name";
//mvwprintw(audience, 0, 11 - audienceName.size()/2, "%s", audienceName.c_str());
//mvwprintw(audience, 1, 0, "%s|%s", bar1.c_str(), bar2.c_str());
wprintw(audience, "Test");
wrefresh(audience);
}
這裏是我的測試代碼:
#include "Tests.h"
#include <string>
using namespace std;
void test()
{
int y = 1;
UI testUI;
initscr();
cbreak();
WINDOW* windowTest = newwin(1, 23, 3, 0);
wprintw(windowTest, "This is a new window");
wrefresh(windowTest);
getch();
clear();
delwin(windowTest);
testUI.drawAudience(4,5);
getch();
endwin();
}
你可以發佈'class UI'嗎? –