我在c中做了一个简单的代码:
#include <stdio.h>
int main( int argc, char* argv[] ) {
printf( "Hello, just wanted to say: %s.\n", argv[1] );
return 0;
}
Run Code Online (Sandbox Code Playgroud)
并从中制作了两个程序 - app1和app2.
现在,我正在试验管道:
./app1 Bye | ./app2
Run Code Online (Sandbox Code Playgroud)
并输出投入%s的(null),而不是预期的"你好".为什么?
Yu *_*Hao 10
你似乎误解了管道是如何工作的.当您使用的管道像你这样,输出app1作为stdin对app2,但不是在命令行参数app2.
就像这样:
stdin->app1->stdout >----------> stdin->app2->stdout
pipe
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
68 次 |
| 最近记录: |