当我在gnome终端上执行ctrl+C/ctrl+V时,readline会关闭控制台输入

当我在gnome终端上执行ctrl+C/ctrl+V时,readline会关闭控制台输入,gnome,readline,Gnome,Readline,环境: Ubuntu 10.04 LTS Gnome桌面v2.30.2 gcc/g++4.4.3 libreadline 6.1 我正在构建一个应用程序,输入多行输入并对其进行处理,我发现如果输入的大小很大,readline会跳过几个字节的字符。为了确保这一点,我制作了一个简单的程序,如下所示: #include <stdio.h> #include <readline/readline.h> int main() { while (1) { ch

环境: Ubuntu 10.04 LTS Gnome桌面v2.30.2 gcc/g++4.4.3 libreadline 6.1

我正在构建一个应用程序,输入多行输入并对其进行处理,我发现如果输入的大小很大,readline会跳过几个字节的字符。为了确保这一点,我制作了一个简单的程序,如下所示:

#include <stdio.h>
#include <readline/readline.h>
int main() {
    while (1) {
        char *p = readline("> ");
        if (!p) break;
        fprintf(stderr, "%s\n", p);
    }
    return 0;
}
并在gnome终端上运行测试程序,对gen.txt的内容进行复制粘贴:

g++ test.cpp -lreadline
./a.out 2>out.txt
[copy-and-paste the content of gen.txt]
我可以看到out.txt比gen.txt小,并且省略了许多字节

wc -c out.txt
119966 out.txt

我想知道哪个组件有缺陷,是gnome终端还是readline,我想知道有多少字节的剪贴板内容readline和gnome终端可以确保复制和粘贴可以毫无问题地完成。

先用cat>out2.txt进行测试,然后再粘贴怎么样。这将检查终端是否正常工作。此外,您可能还应该粘贴到编辑器中,以验证原始复制操作是否正确;1.粘贴到gnome终端2上的cat>out2.txt中。粘贴在vim 3上。粘贴在gedit上。在这三个测试中,粘贴效果都很好,并且没有字符丢失。这就是为什么我怀疑readline库。
wc -c out.txt
119966 out.txt