最佳答案

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

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

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

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

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

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

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

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

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

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

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

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

最佳答案由网友    提供

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

  1. python语言中print函数的作用_python中如何使用print函数

    Python中print语句 1.逗号分隔符 在Python中print语句可根据sys.stdout中包含的文件生成输出,它接受一个逗号分隔的对象表,如下实例:x = 1 y = 2 z = 3 p ...

  2. c语言中time函数作用,C语言中时间的基本用法小结

    前言 在我学的这些编程语言中,总是记不住它们的时间处理方式,每次用到时都要重新看,所以想着在这里记录下来,也方便用到时查找,也方便有需要的朋友们参考. time_t和struct tm 在C语言中用t ...

  3. php strpose_php中strpos()和stripos()函数的区别用法详解

    本篇文章主要给大家介绍PHP中strpos()和stripos()函数的区别用法介绍,希望对需要的朋友有所帮助! strpos()函数 这个函数帮助我们找到一个字符串在另一个字符串中第一次出现的位置. ...

  4. c语言中fopen_s函数,关于C语言中从文件读取数据时,fopen,fopen_s和fscanf,fscanf_s的函数用法(函数的用法有很大区别)...

    首先这都是针对由于VS软件的设置,一些函数的需要在函数名后面加"_s"才能使用. (或者最直接的方法程序开头加#pragma warning(disable:4996) 就什么问题 ...

  5. python语言中print函数的作用_python中print()方法有什么

    python中print()方法有什么 发布时间:2020-11-11 13:50:08 来源:亿速云 阅读:91 作者:小新 这篇文章给大家分享的是有关python中print()方法有什么的内容. ...

  6. c语言中open函数r,C语言中open函数

    语法Open ( windowvar, windowtype {, parent } ) 参数windowvar:指定窗口变量名,Open()函数把打开窗口的引用放置到该变量中windowtype:s ...

  7. c语言中rewind函数_C语言中的rewind()函数与示例

    c语言中rewind函数 C中的rewind()函数 (rewind() function in C) The rewind() function is defined in the <stdi ...

  8. C语言中fprintf函数的使用介绍

    C语言中fprintf函数的使用介绍 fprint函数的原型: //fp为文件指针,format是输出控制字符串 int fprintf(FILE *fp,char *format,...) 下面是使 ...

  9. c语言fgetc函数作用,C语言中fgetc函数的使用方法

    该函数包含在C语言中的stdio.h头文件中,主要功能是从流中读取一个字符,并增加文件指针的位置. 函数原型:int fgetc(FILE *fp); 函数功能:从流中读取字符,即从fp所指定的文件中 ...

最新文章

  1. less里面calc() 语法
  2. Timer和TimerTask
  3. OprenCV学习之路一:将彩色图片转换成灰度图
  4. Oracle本地管理对照数据字典管理表空间
  5. (超详细版)Linux下Hadoop2.7.1集群环境的搭建(3台为例)
  6. live555 源码分析:基础设施
  7. IdentityServer4 SigningCredential(RSA 证书加密)
  8. MVC – 5.MVC设计模式和.NetMVC框架
  9. cad灯具图标_CAD图纸灯具图例
  10. 进行桌面共享软件开发的市场前景如何
  11. uniapp实现微信公众号支付
  12. T32使用-----抓取rpm dump
  13. python海龟图画皮卡丘_用python画一只皮卡丘
  14. 【通州建设】地铁S6线更名为21号线!途径通州多站!
  15. Java高级编程5-姜国海
  16. 余生,不回头,不将就
  17. 汇编总结:lea指令
  18. c语言第二版课后答案pdf,数据结构(C语言版)第2版习题答案—严蔚敏.pdf
  19. 嵌入式系统简介、应用及发展
  20. C++ pthread 多线程

热门文章

  1. Linux驱动编程 step-by-step (五)主要的文件操作方法实现
  2. 错误fatal error: zlib.h: 没有那个文件或目录的解决办法
  3. springCloud Finchley 实战入门(基于springBoot 2.0.3)【六 Hystrix 仪表盘】
  4. Python爬虫 搜索并下载图片
  5. 《图书管理系统——java》
  6. 甜、酸、苦、辣、咸与健康
  7. 使用FtpWebRequest 类操作(上传、下载和删除)FTP上的XML文件
  8. Spring中BeanPostProcessor
  9. android studio 连不上设备,Android Studio-设备已连接但“脱机”
  10. 解决IDEA2020控制台乱码的方法(亲测)