2015-01-14 35 views
0

我目前有一個程序只是在屏幕上繪製一個方形,但是,我試圖在這個方形上添加垂直線,它可以打印到屏幕上,但不是它定義的全部長度,也不在廣場內。任何幫助將非常感激!C程序垂直線不在窗口內打印(方形)

#include <ncurses.h> 

int main() 
{ 
    initscr(); 
    mvvline(1,1,ACS_VLINE,10); //does not fully print to screen, and is printed outside of the square 
    refresh(); 

    WINDOW *win = newwin(10,10,0,0); 
    box(win, '|', '-'); 
    touchwin(win); 
    wrefresh(win); 

    getchar(); 
    endwin(); 
    return 0; 
} 
+0

我不明白你的問題。你能添加你的預期輸出嗎? –

+0

正方形被定義爲從原點(0,0)開始,我繪製的垂直線被定義爲從(1,1)開始,因此在數學上說...垂直線應該繪製在正方形中,但它是不是,它被吸引到它下面。 – user20842454566

回答

0

你需要mvwvline,而不是mvvline

mvwvline(win, 1, 1, '|', 10); // does print to screen 

,當然還有win varible初始化

int main() 
{ 
    initscr(); 
    refresh(); 

    WINDOW *win = newwin(10, 10, 0, 0); 
    box(win, '|', '-'); 
    mvwvline(win, 1, 1, '|', 10); //does not print to screen 
    touchwin(win); 
    wrefresh(win); 

    getchar(); 
    endwin(); 
    return 0; 
} 

後必須移動代碼,我不知道是否win保證返回非NULL但檢查文檔,因爲在這種情況下它coul d返回NULL您將有未定義的行爲。

+0

乾杯!非常感謝! – user20842454566