C语言数据流重定向

本文介绍了C语言的数据流重定向,说明如何通过操作系统命令实现标准输出到文件的重定向,包括追加内容。同时,展示了使用`system()`函数调用`echo`和系统命令`type`或`cat`来显示文本文件内容的方法。

数据流重定向

从前面章节中我们对标准输入输出和文件输入输出有了完整的概念,它们都操作数据流,只是输入输出的目标不同,这些函数都是同步函数,它们在底层调用系统io,执行完后再执行下面的代码。可以发现两者函数非常相近,因为两者在实现上有相通之处,实际上在标准输入输出的内部实现中大量调用了文件输入输出函数,标准流将FILE替换成stdio和stdout,并且自动处理缓存,文件尾,换行符等内容,使我们不会遇到指针错误。我们也可以将文件指针换成stdin和stdout来使用fprintf()等函数进行标准输入输出,但同时会面对文件尾问题,且相当于重新编写已经实现的功能。例如:
fprintf(stdout,“this is first!\n”);
反过来如果修改printf()中的stdout是否也可以将内容写入文件中呢?理论上可以,但printf()没有提供参数修改操目标对象,即便printf()没提供,操作系统也支持重定向操作,重定向操作符为<和>,分别代表输入和输出,windows和linux都一样,我们编译以下代码:

#include <stdio.h>

int main(void)
{
   
   
	
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值