如何让你的程序支持管道输入

什么叫支持管道输入

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

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Hadoop实操

如何在DELL R730服务器上使用U盘安装linux操作系统

4893
来自专栏开源优测

AutoLine源码分析之静态页面模板及对应API介绍

本文主要分享AutoLine开源平台中各静态页面模板的作用及对应的API渲染。

1031
来自专栏程序员八阿哥

小白Pycharm使用(3):重要笔记Pycharm连接Github

1、File->Settings->Version Control->Github

722
来自专栏云计算教程系列

如何在Ubuntu 14.04上使用Pydio托管文件共享服务器

随着云的采用增加,越来越多的数据被远程存储。从音乐到图片再到个人文档,很多人都将文件上传到他们不管理的服务器上。如果您希望将文件保存在您控制的服务器上,则可以使...

2230
来自专栏网络

CobaltStrike团体服务器部署并后台运行

大家好,我是你们的老朋友Alex。Cobaltstrike的部署安装很简单,但是在实际使用中出现了问题。我把团队服务器放在ECS上,出现了两个问题:1.客户端无...

2426
来自专栏Golang语言社区

HTTP协议漫谈

简介 园子里已经有不少介绍HTTP的的好文章。对HTTP的一些细节介绍的比较好,所以本篇文章不会对HTTP的细节进行深究,而是从够高和更结构化的角度将H...

34113
来自专栏游戏杂谈

AIR打开系统文件目录

在写webgame的资源管理器的时候,想加一个功能,就是在解析版本xml时,想打开目录查看里面的文件。

791
来自专栏玩转JavaEE

SpringBoot+WebSocket实现在线聊天(二)

本文是vhr系列第15篇,项目地址:https://github.com/lenve/vhr 在线聊天使用了SpringBoot+WebSocket实现,为...

5075
来自专栏SAP梦心的SAP分享

【域控管理】父域的搭建

从这篇博文开始,所有的域控系统都是在虚拟机中创建的。 在VM里安装Windows Server 2008 R2的方法就不多说了,无脑式安装,略过不提。 进到系统...

2958
来自专栏Ryan Miao

Linux中读写权限

learn the auth of Linux. Generally, r-x w: write , modify and delete  -2 r: read...

3558

扫码关注云+社区