Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ncurses-printw()不';t使用长字符串(C)_C_Ncurses - Fatal编程技术网

ncurses-printw()不';t使用长字符串(C)

ncurses-printw()不';t使用长字符串(C),c,ncurses,C,Ncurses,我试图用printw()打印一个长字符串,但它只打印一些字符。就像这个函数只允许打印最大数量的字符 以下是我代码的一部分: ... move(3,0); printw(result_2); sleep(1); ... result_2有一个很长的字符串,我知道它正确地包含了长字符串 我试图打印的字符串是关于txt文件的所有信息 我尝试使用其他函数,如addstr(),但遇到了相同的问题。有没有办法用ncurses打印长字符串 这是我的字符串中的内容: user: asdasdasd

我试图用
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之上实现的一个小部件库(例如)。

我认为它会在遇到第一个
\n
时停止。。。(我曾经遇到过这个问题,就我记忆所及)Jean MarcZimmer我在文本文件中有多个
\n
,我对此没有任何问题……我当时不知道。很抱歉(与您的问题没有直接关系,但我希望
result\u 2
中没有任何百分号。最好避免这种风险,并
printw(“%s”,result\u 2)
)没有,并且没有任何注释会引出有用的信息。Id不起作用:(.输出文本在任何时候都不会到达窗口底部。当它停止显示信息时,我可以看到^A字符作为最后一个字符…@HessianMad如果您仍然有问题,请您的问题回答评论中的问题并添加一个。没有这些详细信息,人们只会猜测。我发现了问题。它不是about
ncurses
。是关于我的
C
实现的。@hessianMad:那么你可能应该删除这个问题。