簡體   English   中英

ncurses - printw() 不適用於長字符串 (C)

[英]ncurses - printw() doesn't work with long strings (C)

我試圖用printw()打印一個長字符串,但它只打印一些字符。 就像這個函數只允許打印最大數量的字符。

這是我的代碼的一部分:

 ...
 move(3,0);
 printw(result_2);
 sleep(1);
 ...

result_2有一個很長的字符串,我知道它有正確的長字符串。

我要打印的字符串是有關 txt 文件的所有信息。

我嘗試使用其他函數,如 addstr() 但我遇到了同樣的問題。 有沒有辦法用ncurses打印長字符串?

這是我的字符串中的內容:

user: asdasdasd
user: holaaaa
user: asdsad
user: aw22
user: 2
user: 2
user: 2
user: 2
user: 22
user: 2
user: 2
user: 2
user: asdasd
user: holaaa
user: porfa
user: si
user: suuuuuuuuuuuuuuuuuu
user: no
user: no
user: lel
user: lkajsdkjasdkjasdkjasd

謝謝!

我想你可能會碰到屏幕的底部。 除非您已調用,否則 Ncurses 不會滾動(或允許終端滾動):

scrollok(stdscr, TRUE);

所以可能輸出到達窗口底部並在那里停止。

您可能還想看看curses 函數idlok

但是,這可能無法提供您真正需要的東西。 Ncurses 不維護滾動緩沖區; 它只存儲屏幕上實際顯示的內容。 如果您想實現一個能夠滾動長文本的 CLI 應用程序,您必須自己實現滾動邏輯,或者使用在 ncurses 之上實現的小部件庫之一(例如CDK )。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM