我有一个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