如何将没有相应 ASCII 的 HEX 字符作为输入传递给 C 程序

How to pass HEX character with no corresponding ASCII to a C program as input

你的第一个答案是使用 perl 或 python 并将输入通过管道传递给 C 程序,但不幸的是我要输入的变量不是从 C 程序的参数中获取值,而是它交互提示用户输入一个值。

我的缓冲区大小为 8 个字节,任何超过 8 个字节的内容都会覆盖之前的变量 [这正是我想要的],我希望该变量被覆盖为值 1335。变量是上面写的是b,是int类型。所以将 1335 转换为十六进制得到 537,我必须用 8 个 a 覆盖缓冲区,然后用十六进制 37、05、00 和 00 覆盖。要用这些值覆盖,我应该给出对应于 37、05 和 00 的 ASCII用户输入。由于 ASCII 中的 05 和 00 是控制字符,我无法使用键盘输入相同的字符。有什么方法可以将这些值的 ASCII 输入到用户输入中吗?

桌面版:Ubuntu16.04

要以编程方式解决问题,您可以在 shell 脚本中使用 expect

我能够通过使用 Ctrl+ @

转义空字符来解决这个问题