gpt4 book ai didi

在非规范模式中复制和粘贴

转载 作者:太空宇宙 更新时间:2023-11-04 11:54:45 25 4
gpt4 key购买 nike

我正在创建一个程序来实现 linux shell

我已经将终端模块更改为非规范的

void    ft_getch_prepare(void)
{
int ret;
struct termios new_opts;

ret = tcgetattr(STDIN_FILENO, &new_opts);
new_opts.c_lflag &= ~(ICANON | ECHO | ECHOE | ECHOK
| ECHONL | ECHOPRT | ECHOKE | ICRNL);
new_opts.c_cc[VMIN] = 1;
new_opts.c_cc[VTIME] = 1;
ret += tcsetattr(STDIN_FILENO, TCSANOW, &new_opts);
}

int ft_getch(void)
{
int c;

c = 0;
ft_getch_prepare();
read(0, &c, 4);
return (c);
}

但是当我想复制一个字符串并粘贴它时,它只显示复制字符串的第一个字符

例如,我想将此字符串 "HELLO WORLD" 粘贴到我的终端中,但是它只显示第一个字符 "H"

最佳答案

如果我完成你的程序

int main()
{
int i = ft_getch();
printf("%x\n", i);
}

我明白了

$ ./a.out
4c4c4548

当我尝试粘贴 HELLO WORLD 时,这是我所期望的。 (48 是 H 的十六进制代码,E 是 45,L 是 4C;它看起来是相反的,因为我在小端架构上)。

关于在非规范模式中复制和粘贴,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54748017/

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