如何在 Ubuntu 中将一个字节作为多个输入发送到一个文件

如何在 Ubuntu 中将一个字节作为多个输入发送到一个文件

我有一个file.c

#include <stdio.h>
void main(){
        char a,b;
        printf("Input your character: \n");
        scanf("%c",&a);
        printf("Input your second character: \n");
        scanf("%c",&b);
        printf("You char: %c %c\n",a,b);
}

我使用管道发送第一个字节0x01:

python -c "print '\x31'" | ./file

但是它只能发送一次,我想要发送:第一个字节是 0x31,第二个字节是 0x32,这样程序就会打印你的字符:1 和 2。如何实现?

答案1

你可以在python命令中使用多个打印语句:

python -c 'print "\x31"; print "\x32"' | ./file

或者使用换行符的单个打印语句:

python -c 'print "\x31\n\x32"' | ./file

或者在管道之前将多个 Python 命令组合在一起:

(python -c 'print "\x31"'; python -c 'print "\x31"') | ./file

似乎字符不能由换行符分隔,在这种情况下:

python -c 'print "\x31\x32"' | ./file

相关内容