Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将python输出管道化到exe输入[Errno 22]的参数无效_Python_C_Pipe - Fatal编程技术网

将python输出管道化到exe输入[Errno 22]的参数无效

将python输出管道化到exe输入[Errno 22]的参数无效,python,c,pipe,Python,C,Pipe,我有一个简单的C程序,可以输出argc: #include <stdio.h> #include <stdlib.h> int main(int argc, char* argv[]) { printf("argc = %d\n", argc); return 0; } #包括 #包括 int main(int argc,char*argv[]) { printf(“argc=%d\n”,argc); 返回0; } 我试图在命令行

我有一个简单的C程序,可以输出argc:

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char* argv[])
{
    printf("argc = %d\n", argc);
    return 0;
}
#包括
#包括
int main(int argc,char*argv[])
{
printf(“argc=%d\n”,argc);
返回0;
}
我试图在命令行中使用python命令提供的输入对其进行测试,但出现以下错误:

C:\Users...\bin\Debug>python -c "print('A')" | pwnable.exe
argc = 1
Exception ignored in: <_io.TextIOWrapper name='<stdout>' mode='w' encoding='cp1252'>
OSError: [Errno 22] Invalid argument
C:\Users…\bin\Debug>python-C“print('A')”| pwnable.exe
argc=1
在中忽略异常:
OSError:[Errno 22]参数无效
打印出1而不是2


为什么会出现此错误?它意味着什么?

管道写入标准输入,而不是命令行参数。如果希望输出为参数,请使用命令替换

pwnable.exe "$(python -c "print('A')")"
错误22似乎是特定于在Windows上打印到管道的问题,请参见以下类似问题: