gpt4 book ai didi

linux - 使用 stdin 读取文件后需要从 stdin 获取箭头键代码

转载 作者:太空宇宙 更新时间:2023-11-04 04:08:41 27 4
gpt4 key购买 nike

我正在创建一个 NASM 汇编代码来从标准输入读取文件中存在的二维数字数组我正在运行这样的可执行文件 -> ./abc < input.txt .

之后,我将在终端上显示读取的二维数组,然后我想获取箭头键的按键代码(通常在终端中显示为特殊字符)我为它编写了代码,但它不起作用。 (我确实在 termios 设置中回显了这一点)

尽管当我将文件名作为参数并读取而不是从 stdin 读取而是使用 fopen 和适当的 fd 时它可以工作。

./abc abc.txt

在这种情况下,显示读取的二维数组后,我能够在程序中获取箭头键代码,但在之前的情况下则不行。

请在这件事上帮助我。

最佳答案

通过使用输入重定向,您可以断开 stdin 与终端的连接,并将其连接到 shell 正在将文件读入的管道。

您可以使用cat input.txt - | ./abc,但您必须按 Enter 来刷新行缓冲区并使 cat 将当前行通过管道传输到您的程序中。

我建议不要弄乱标准输入,而只是将输入文件作为参数,就像您之前所做的那样。

关于linux - 使用 stdin 读取文件后需要从 stdin 获取箭头键代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20137533/

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