您的位置:首页 >新奇数码 >

freopen文件输入输出(freopen)

导读 您好,今天小编胡舒来为大家解答以上的问题。freopen文件输入输出,freopen相信很多小伙伴还不知道,现在让我们一起来看看吧!1、fopen 是操

您好,今天小编胡舒来为大家解答以上的问题。freopen文件输入输出,freopen相信很多小伙伴还不知道,现在让我们一起来看看吧!

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

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

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

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

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

6、那为什么要返回值?比如用 fopen 读取一个不存在的文件,那么怎么知道有没有读取失败?所以返回值很有必要,只有看看这个返回值是不是表示读取失败就可以了。

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

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

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

10、再打开当前的目录会发现,多了一个 b.txt 文件,这个文件里的内容正是原本要在黑框框里显示的文本。

11、原本用在黑框框的输出函数也都输出到了这个文件里来了。

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

13、fopen()函数打开由文件名指定的文件,若成功地完成打开操作,则带回一个指向该文件的指针(即存放该文件有关信息的内存区的首地址),若打开文件时出现错误(例如,以"r"方式打开一个不存在的文件),则返回空指针值NULLfreopen()也是文件打开函数,常用于重定向流  定向至 屏幕   Windows:   freopen("CON","w",stdout)   Linux:     freopen("DevCON","w",stdout)  定向至 文件   freopen("filename","w",stdout)。

本文就为大家分享到这里,希望小伙伴们会喜欢。

免责声明:本文由用户上传,如有侵权请联系删除!