gpt4 book ai didi

c - ncurses - printw() 不适用于长字符串 (C)

转载 作者:行者123 更新时间:2023-11-30 20:30:51 25 4
gpt4 key购买 nike

我正在尝试使用 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 )。

关于c - ncurses - printw() 不适用于长字符串 (C),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53116662/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com