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

什么叫支持管道输入

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 条评论
登录 后参与评论

相关文章

来自专栏十月梦想

小程序页面跳转

使用组件  <navigator> 示例:  <navigator url='../test/test'>点击跳转</navigator>

713
来自专栏Ryan Miao

NodeJS 初学之安装配置环境

1.环境安装 操作系统: Ubuntu 16.04.2 LTS 1.1安装nvm ryan@ryan-900X5L:~/temp$ curl https://...

27110
来自专栏北京马哥教育

ubuntu 12.04下3分钟搭建apache+python的运行环境

关于搭建apache+python的运行环境,网上很多文章都是用cgi方式,配置非常繁琐,把很多不相干的东西都扯了进来,都没有说到要点上。对于很多新手朋友来说,...

3555
来自专栏软件

SQL Server 2016軟件下載及安裝教程

SQL Server 2016(64位)下载地址: 链接:http://pan.baidu.com/s/1c2vWkKg 密码:tjxq 安装中有问题咨询客服微...

2085
来自专栏木子昭的博客

Ubuntu运行GitHub获取的Django项目准备工作从GitHub克隆项目安装数据库(要设置密码)搭建python环境修改项目配置文件将测试数据库导入到本地新建的数据库中运行项目

经常在github看到一些优秀的Django项目,但Django的运行需要大量的依赖,这里分享一下,从github获取Django项目,并在本地运行项目的小经...

2573
来自专栏ASP.NET MVC5 后台权限管理系统

用谷歌浏览器来当手机模拟器

很多网站都通过User-Agent来判断浏览器类型,如果是3G手机,显示手机页面内容,如果是普通浏览器,显示普通网页内容。 谷歌Chrome浏览器,可以很方便地...

1895
来自专栏向治洪

关于React Native 报Export declarations are not supported by current JavaScript version错误的解决问题

设置.js文件默认以jsx的语法打开 在没有进行设置的情况下,每次打开WebStorm的时候打开包含jsx语法的.js文件都会有以下提示: ? 当然我们点击转换...

2006
来自专栏源码之家

DEDECMS 批量更改未审核文章的更新时间

692
来自专栏13blog.site

IntelliJ IDEA 报错:Error:java: 未结束的字符串文字

构建javaweb项目时,控制台报错: ? 这个问题是由于编码冲突导致的,在设置中找到File Encodings可以看到 ? ide采用utf-8编码格式,而...

2725
来自专栏张伟博客

linux安装一键安装phpstudy web环境

1757

扫码关注云+社区