关于c语言 i/o 用管道重定向的问题
我有3个c文件,第一个c文件产生后缀为.a的文件,第二个读取.a的c文件,产生.b的文件,第三个c文件读取.b的文件产生.txt文件。现在想减少i/o所产生的时间,所以想...
我有3个c文件,第一个c文件产生后缀为.a的文件,第二个读取.a的c文件,产生.b的文件,第三个c文件读取.b的文件产生.txt文件。现在想减少i/o所产生的时间,所以想采取管道的方法。请问如何改写那3个c文件(linux平台or其他平台都可以)?或者如不改写那3个c文件,如何写shell完成这项功能?非常感谢!
展开
3个回答
展开全部
需要将输出到文件的内容 用printf输出到屏幕
使用管道操作符 (|)
管道操作符 (|) 可以提取一个命令的输出(默认情况下是 STDOUT),然后将其定向到另一个命令的输入(默认情况下是 STDIN)中。例如,使用下面的命令可以对目录进行分类:
dir | sort
在本例中,将同时启动两个命令,但随后 sort 命令会暂停,直到它接收到 dir 命令的输出为止。sort 命令使用 dir 命令的输出作为输入,然后将输出发送到句柄 1(即 STDOUT)。
使用管道操作符 (|)
管道操作符 (|) 可以提取一个命令的输出(默认情况下是 STDOUT),然后将其定向到另一个命令的输入(默认情况下是 STDIN)中。例如,使用下面的命令可以对目录进行分类:
dir | sort
在本例中,将同时启动两个命令,但随后 sort 命令会暂停,直到它接收到 dir 命令的输出为止。sort 命令使用 dir 命令的输出作为输入,然后将输出发送到句柄 1(即 STDOUT)。
展开全部
假设这三个.c文件生成1.out、2.out、3.out。前提是:三个.out文件都是读 stdin 写stdout,而不是读写文件。那么你可以这样
1.out | 2.out | 3.out > 4.txt
1.out | 2.out | 3.out > 4.txt
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
重定向就是使用操作符 ''> '' 和''<''.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询