您好,今天小编胡舒来为大家解答以上的问题。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)。
本文就为大家分享到这里,希望小伙伴们会喜欢。
免责声明:本文由用户上传,如有侵权请联系删除!