【问题标题】:Need to get arrow key codes from stdin after reading file using stdin使用标准输入读取文件后需要从标准输入获取箭头键代码
【发布时间】:2013-11-22 05:18:45
【问题描述】:

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

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

虽然当我将文件名作为参数并读取而不是从标准输入而是使用带有正确 fd 的 fopen 时它正在工作。

./abc abc.txt

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

请在这件事上帮助我。

【问题讨论】:

    标签: linux assembly terminal nasm


    【解决方案1】:

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

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

    我建议不要乱用标准输入,而只是将输入文件作为参数,就像你以前做过的那样。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-09-22
      • 1970-01-01
      • 2011-05-07
      • 2010-12-18
      • 2013-03-30
      • 2012-02-17
      • 2011-03-30
      相关资源
      最近更新 更多