600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > c语言中freopen函数 fopen和freopen_C中freopen和fopen的区别(用法+详解+区别)

c语言中freopen函数 fopen和freopen_C中freopen和fopen的区别(用法+详解+区别)

时间:2024-01-23 09:18:24

相关推荐

c语言中freopen函数 fopen和freopen_C中freopen和fopen的区别(用法+详解+区别)

最佳答案

fopen 是操作文件用的,比如创建读取等,它有两个参数,第一个是文件名,第二个是操作方式。

第一个参数很好理解,因为是用来操作文件的,自然得告诉它要操作的是什么文件。

第二个参数也不难理解,既然是操作,那如何操作,就由这个参数决定。

常见的操作有读("r")、写("w")和在尾部添加("ab")等等。

把参数全部填好后,就要用一个变量来获取 fopen 调用后的返回值。

那为什么要返回值?比如用 fopen 读取一个不存在的文件,那么怎么知道有没有读取失败?

所以返回值很有必要,只有看看这个返回值是不是表示读取失败就可以了。

freopen 有三个参数,前两个和它返回值跟fopen是一样的,就多了一个参数,被重定向的对象。

为了更好的理解什么是重定向,用下面举的例来说明。

比如,在 main 函数中写上一句 puts("abc"); ,通常会弹出一个黑框框,并显示 abc,但在它之前添加一行 freopen ("b.txt", "w", stdout); ,那么再运行,会发现弹出的黑框框里的文字不见了。

再打开当前的目录会发现,多了一个 b.txt 文件,这个文件里的内容正是原本要在黑框框里显示的文本。原本用在黑框框的输出函数也都输出到了这个文件里来了。

对于这种效果,我们称之为重定向,这也正是和 fopen 最重要的区别之一,fopen 仅仅用来操作文件,而 freopen 则用其可对目标对象进行重定向的特性来实现某些特殊的需求。

最佳答案由网友提供

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。