数据流重定向
从前面章节中我们对标准输入输出和文件输入输出有了完整的概念,它们都操作数据流,只是输入输出的目标不同,这些函数都是同步函数,它们在底层调用系统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)
{

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

被折叠的 条评论
为什么被折叠?



