C语言之文件读写探究(一):fopen、fclose(文件的打开和关闭)
相关博文: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(文件的打开和关闭)相关推荐
- C语言之文件读写探究(七):随机读写文件
相关博文:C语言之文件读写探究(一):fopen.fclose(文件的打开和关闭) 相关博文:C语言之文件读写探究(二):fputc.fgetc.feof(一次读写一个字符(文本操作)) 相关博文:C ...
- C语言之文件读写探究(六):fscanf、fprintf(格式化读写文件)
相关博文:C语言之文件读写探究(一):fopen.fclose(文件的打开和关闭) 相关博文:C语言之文件读写探究(二):fputc.fgetc.feof(一次读写一个字符(文本操作)) 相关博文:C ...
- C语言之文件读写探究(五):rewind、ftell、fseek(文件指针偏移)
相关博文:C语言之文件读写探究(一):fopen.fclose(文件的打开和关闭) 相关博文:C语言之文件读写探究(二):fputc.fgetc.feof(一次读写一个字符(文本操作)) 相关博文:C ...
- C语言之文件读写探究(四):fwrite、fread(一次读写一块数据(二进制操作))
相关博文:C语言之文件读写探究(一):fopen.fclose(文件的打开和关闭) 相关博文:C语言之文件读写探究(二):fputc.fgetc.feof(一次读写一个字符(文本操作)) 相关博文:C ...
- C语言之文件读写探究(三):fputs、fgets、feof(一次读写一行字符(文本操作))
相关博文:C语言之文件读写探究(一):fopen.fclose(文件的打开和关闭) 相关博文:C语言之文件读写探究(二):fputc.fgetc.feof(一次读写一个字符(文本操作)) 相关博文:C ...
- C语言之文件读写探究(二):fputc、fgetc、feof(一次读写一个字符(文本操作))
相关博文:C语言之文件读写探究(一):fopen.fclose(文件的打开和关闭) 相关博文:C语言之文件读写探究(二):fputc.fgetc.feof(一次读写一个字符(文本操作)) 相关博文:C ...
- C++之文件操作探究(四):读文件——二进制文件
相关博文:C++之文件操作探究(一):写文件--文本文件 相关博文:C++之文件操作探究(二):读文件--文本文件 相关博文:C++之文件操作探究(三):写文件--二进制文件 相关博文:C++之文件操 ...
- C++之文件操作探究(三):写文件——二进制文件
相关博文:C++之文件操作探究(一):写文件--文本文件 相关博文:C++之文件操作探究(二):读文件--文本文件 相关博文:C++之文件操作探究(三):写文件--二进制文件 相关博文:C++之文件操 ...
- C++之文件操作探究(一):写文件——文本文件
相关博文:C++之文件操作探究(一):写文件--文本文件 相关博文:C++之文件操作探究(二):读文件--文本文件 相关博文:C++之文件操作探究(三):写文件--二进制文件 相关博文:C++之文件操 ...
最新文章
- CSDN Markdown使用
- python对比两张图片_用python实现对比两张图片的不同
- ESP3 + ESP-IDF | 串口1 - 简单的串口回环测试
- C++ I/O流 格式控制(下)
- Hibernate学习之一级缓存
- 去除jQuery mobile默认样式
- Python使用matplotlib填充图形指定区域
- 分享一些Java常见的面试题,大厂都爱用
- Java数组--数组常用的办法;
- Exadata:Smart Scan(二) FAST FULL SCAN
- 网工浓缩笔记以及考点(第七章 网络安全)
- 抓取android log,一键抓取Android的Locat Log
- python解决数学建模发电商机组调度问题
- DOTA~杀人声音,英雄台词
- threejs 绘制球体_Three.js基础探寻四——立方体、平面与球体
- matlab深度遍历算法,数据结构算法之动态规划(深度优先遍历)
- RS485接线方式小科普
- 微信小程序 console @appservice-current-context
- bat脚本自定义魔兽warIII运行分辨率,去黑边
- 【无限互联】学员作品:面包旅行APP
热门文章
- 第四十三篇 面向对象进阶2
- MyBatis Invalid bound statement (not found)问题 -- 记一次与空气的斗智斗勇
- 蓝桥杯.历届试题: 错误票据
- 使用 AdaBoost 元算法提高分类器性能
- canvas--绘制路径
- 如何修改Struts2 FiledError样式
- 49 - 算法 - LeetCode 110 平衡二叉树 - 求二叉树的高度 -双重递归
- 测试工程师---笔试面试题
- python实现冒泡排序视频_Python实现冒泡排序
- go web框架_golang微服务框架go-micro 入门笔记2.2 micro工具之微应用利器micro web