[英]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.