相关博文:C语言之文件读写探究(一):fopen、fclose(文件的打开和关闭)
相关博文:C语言之文件读写探究(二):fputc、fgetc、feof(一次读写一个字符(文本操作))
相关博文:C语言之文件读写探究(三):fputs、fgets、feof(一次读写一行字符(文本操作))
相关博文:C语言之文件读写探究(四):fwrite、fread(一次读写一块数据(二进制操作))
相关博文:C语言之文件读写探究(五):rewind、ftell、fseek(文件指针偏移)
相关博文:C语言之文件读写探究(六):fscanf、fprintf(格式化读写文件)
相关博文:C语言之文件读写探究(七):随机读写文件

一. 文件分类

(一)文本文件:以ASCII码格式存放,一个字节存放一个字符。文本文件的每一个字节存放一个ASCII码,代表一个字符。这便于对字符的逐个处理,但占用存储空间较多,而且要花费时间转换。
(二)二进制文件:以值(补码)编码格式存放。二进制文件是把数据以二进制数的格式存放在文件中的,其占用储存空间较少。数据按其内存中的存储形式原样存放。

二. 图示代码展示

short int a=10000;//0x2710

数值存入文件:

字符存入文件:

三. 乱码解释


四. 文件缓冲

  为什么要有缓冲区(buffer)原因为多种,有两个重点:

五. FILE结构体

  FILE结构体是对缓冲区和文件读写状态的记录者,所有对文件的操作,都是通过FILE结构体完成的。如果文件打开成功,则返回一个指向FILE结构的文件指针,通过这个FILE指针,就可以对该文件进行操作;如果文件打开失败,则返回NULL。

  在开始执行程序的时候,将自动打开3个文件和相关的流:标准输入流(stdin)、标准输出流(stdout)和标准错误(stderr),它们都是FILE*型的指针。流提供了文件和程序的通信通道。

六. 文件的打开和关闭

  只有在一个文件被打开的时候,才能够对其进行读写操作。“读”就是从文件里获取数据;“写”则相反,是将数据写入文件里面。在完成对一个文件的读写操作之后,必须将其关闭。

fopen


mode详解:


  如果读写的是二进制文件,则还要加b,比如rb、r+b等。unix\linux不区分文本和二进制文件。

fclose


例1:注,如果当前目录下并不存在hello.txt的文件,将提示“打开文件失败!”

例2:

C语言之文件读写探究(一):fopen、fclose(文件的打开和关闭)相关推荐

  1. C语言之文件读写探究(七):随机读写文件

    相关博文:C语言之文件读写探究(一):fopen.fclose(文件的打开和关闭) 相关博文:C语言之文件读写探究(二):fputc.fgetc.feof(一次读写一个字符(文本操作)) 相关博文:C ...

  2. C语言之文件读写探究(六):fscanf、fprintf(格式化读写文件)

    相关博文:C语言之文件读写探究(一):fopen.fclose(文件的打开和关闭) 相关博文:C语言之文件读写探究(二):fputc.fgetc.feof(一次读写一个字符(文本操作)) 相关博文:C ...

  3. C语言之文件读写探究(五):rewind、ftell、fseek(文件指针偏移)

    相关博文:C语言之文件读写探究(一):fopen.fclose(文件的打开和关闭) 相关博文:C语言之文件读写探究(二):fputc.fgetc.feof(一次读写一个字符(文本操作)) 相关博文:C ...

  4. C语言之文件读写探究(四):fwrite、fread(一次读写一块数据(二进制操作))

    相关博文:C语言之文件读写探究(一):fopen.fclose(文件的打开和关闭) 相关博文:C语言之文件读写探究(二):fputc.fgetc.feof(一次读写一个字符(文本操作)) 相关博文:C ...

  5. C语言之文件读写探究(三):fputs、fgets、feof(一次读写一行字符(文本操作))

    相关博文:C语言之文件读写探究(一):fopen.fclose(文件的打开和关闭) 相关博文:C语言之文件读写探究(二):fputc.fgetc.feof(一次读写一个字符(文本操作)) 相关博文:C ...

  6. C语言之文件读写探究(二):fputc、fgetc、feof(一次读写一个字符(文本操作))

    相关博文:C语言之文件读写探究(一):fopen.fclose(文件的打开和关闭) 相关博文:C语言之文件读写探究(二):fputc.fgetc.feof(一次读写一个字符(文本操作)) 相关博文:C ...

  7. C++之文件操作探究(四):读文件——二进制文件

    相关博文:C++之文件操作探究(一):写文件--文本文件 相关博文:C++之文件操作探究(二):读文件--文本文件 相关博文:C++之文件操作探究(三):写文件--二进制文件 相关博文:C++之文件操 ...

  8. C++之文件操作探究(三):写文件——二进制文件

    相关博文:C++之文件操作探究(一):写文件--文本文件 相关博文:C++之文件操作探究(二):读文件--文本文件 相关博文:C++之文件操作探究(三):写文件--二进制文件 相关博文:C++之文件操 ...

  9. C++之文件操作探究(一):写文件——文本文件

    相关博文:C++之文件操作探究(一):写文件--文本文件 相关博文:C++之文件操作探究(二):读文件--文本文件 相关博文:C++之文件操作探究(三):写文件--二进制文件 相关博文:C++之文件操 ...

最新文章

  1. CSDN Markdown使用
  2. python对比两张图片_用python实现对比两张图片的不同
  3. ESP3 + ESP-IDF | 串口1 - 简单的串口回环测试
  4. C++ I/O流 格式控制(下)
  5. Hibernate学习之一级缓存
  6. 去除jQuery mobile默认样式
  7. Python使用matplotlib填充图形指定区域
  8. 分享一些Java常见的面试题,大厂都爱用
  9. Java数组--数组常用的办法;
  10. Exadata:Smart Scan(二) FAST FULL SCAN
  11. 网工浓缩笔记以及考点(第七章 网络安全)
  12. 抓取android log,一键抓取Android的Locat Log
  13. python解决数学建模发电商机组调度问题
  14. DOTA~杀人声音,英雄台词
  15. threejs 绘制球体_Three.js基础探寻四——立方体、平面与球体
  16. matlab深度遍历算法,数据结构算法之动态规划(深度优先遍历)
  17. RS485接线方式小科普
  18. 微信小程序 console @appservice-current-context
  19. bat脚本自定义魔兽warIII运行分辨率,去黑边
  20. 【无限互联】学员作品:面包旅行APP

热门文章

  1. 第四十三篇 面向对象进阶2
  2. MyBatis Invalid bound statement (not found)问题 -- 记一次与空气的斗智斗勇
  3. 蓝桥杯.历届试题: 错误票据
  4. 使用 AdaBoost 元算法提高分类器性能
  5. canvas--绘制路径
  6. 如何修改Struts2 FiledError样式
  7. 49 - 算法 - LeetCode 110 平衡二叉树 - 求二叉树的高度 -双重递归
  8. 测试工程师---笔试面试题
  9. python实现冒泡排序视频_Python实现冒泡排序
  10. go web框架_golang微服务框架go-micro 入门笔记2.2 micro工具之微应用利器micro web