cmd1 | cmd2 | cmd3
其实很简单,管道是通过stdin和stdout来传给程序的。
说白了,管道符号|
就是把cmd1的stdout
弄成cm2的stdin
。
那就更简单了,支持从stdin读取内容,就支持管道输入了;
同样,支持往stdout输出内容,也就支持管道输出了。
#include<iostream>
using namespace std;
int main(int argc, char \*argv[])
{
string s;
while (cin >> s)
cout << "hello " << s << endl;
return 0;
}
[root@CentOS ~]# ls redis-3.0.7 | ./a.out
hello 00-RELEASENOTES
hello BUGS
hello CONTRIBUTING
hello COPYING
hello deps
hello INSTALL
hello Makefile
hello MANIFESTO
hello README
hello redis.conf
hello runtest
hello runtest-cluster
hello runtest-sentinel
hello sentinel.conf
hello src
hello tests
hello utils
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。