文件操作(day15)
调用函数可以使用被调用函数动态分配的
存储区 calloc函数也可以动态分配一组连续的
存储区
这个函数可以把所有动态分配的存储区
内容设置成0
为了使用这个函数也需要包含stdlib.h头文件
这个函数需要两个参数,第一个参数表示要
分配的存储区个数,第二个参数表示单个
存储区的大小
这个函数的返回值也是分配好的第一个存储区
的地址
这个函数也可能失败,如果失败则返回NULL realloc函数可以调整一段动态分配内存中
的存储区个数
尽量少使用这个函数 所有文件都采用二进制的方式记录数字
如果文件里的所有二进制数据都来自于字符
则这种文件叫文本文件
文本文件以外的文件都叫做二进制文件 C语言里提供了两种操作文件的方法,一种
方法只能操作文本文件,另外一种方法
可以操作所有文件
第一种操作文件的方式叫文本方式,第二种
操作文件的方式叫二进制方式 文件操作基本步骤
.打开文件(fopen)
.操作文件(fread/fwrite)
.关闭文件(fclose) fopen函数需要两个参数
.代表要打开的文件路径
.代表打开文件的方式(决定
程序里可以对文件做什么操作) 打开方式有如下选择
"r" 只能察看文件内容不可以修改
只能从文件头开始察看
如果文件不存在则打开会失败
"r+" 比"r"多了修改功能
"w" 只能修改文件内容不能察看
只能从文件头开始修改
如果文件不存在就创建文件
如果文件存在就删除文件里的所有
内容
"w+" 比"w"多了察看功能
"a" 只能修改不能察看
只能在文件末尾追加新内容
如果文件不存在就创建文件
如果文件存在不会修改文件的
原有内容
"a+" 比"a"多了察看功能 "b"也是一种打开方式
他可以和前面的任何一种打开方式混合使用
如果程序里采用二进制方式操作文件就
应该使用这个打开方式 fopen函数返回的是一个地址,应该记录在
文件指针里。
程序里只能用文件指针代表打开的文件
fopen函数有可能失败,如果失败则返回值
是NULL 一旦完成对文件的所有操作后必须使用fclose
函数关闭文件
fclose函数需要文件指针作为参数
fclose函数结束后文件指针成为野指针,必须
恢复成空指针 文件操作分两种
.把内存里一组连续存储区的内容拷贝到
文件里(写文件操作)
.把文件里一组连续存储区的内容拷贝到
内存里(读文件操作) fread函数可以采用二进制方式对文件进行读
操作
fwrite函数可以采用二进制方式对文件进行
写操作 这两个函数都需要四个参数
.内存里第一个存储区的地址
.单个存储区的大小
.希望操作的存储区个数
.文件指针 它们的返回值表示实际操作的存储区个数 以下两个函数以文本方式操作文件 fprintf函数可以把数据按照规定的格式记录到
文本文件里
fprintf函数的第一个参数是一个文件指针,
后面的参数就是printf函数的参数 fscanf函数可以从文本文件里获得数字并记录
到存储区里
这个函数的第一个参数是一个文件指针,后面的
参数就是scanf函数的参数
文件操作(day15)的更多相关文章
- 【.NET深呼吸】Zip文件操作(1):创建和读取zip文档
.net的IO操作支持对zip文件的创建.读写和更新.使用起来也比较简单,.net的一向作风,东西都准备好了,至于如何使用,请看着办. 要对zip文件进行操作,主要用到以下三个类: 1.ZipFile ...
- 野路子出身PowerShell 文件操作实用功能
本文出处:http://www.cnblogs.com/wy123/p/6129498.html 因工作需要,处理一批文件,本想写C#来处理的,后来想想这个是PowerShell的天职,索性就网上各种 ...
- Node基础篇(文件操作)
文件操作 相关模块 Node内核提供了很多与文件操作相关的模块,每个模块都提供了一些最基本的操作API,在NPM中也有社区提供的功能包 fs: 基础的文件操作 API path: 提供和路径相关的操作 ...
- 归档NSKeyedArchiver解归档NSKeyedUnarchiver与文件管理类NSFileManager (文件操作)
========================== 文件操作 ========================== 一.归档NSKeyedArchiver 1.第一种方式:存储一种数据. // 归档 ...
- SQL Server附加数据库报错:无法打开物理文件,操作系统错误5
问题描述: 附加数据时,提示无法打开物理文件,操作系统错误5.如下图: 问题原因:可能是文件访问权限方面的问题. 解决方案:找到数据库的mdf和ldf文件,赋予权限即可.如下图: 找到mdf ...
- 通过cmd完成FTP上传文件操作
一直使用 FileZilla 这个工具进行相关的 FTP 操作,而在某一次版本升级之后,发现不太好用了,连接老是掉,再后来完全连接不上去. 改用了一段时间的 Web 版的 FTP 工具,后来那个页面也 ...
- Linux文件操作的主要接口API及相关细节
操作系统API: 1.API是一些函数,这些函数是由linux系统提供支持的,由应用层程序来使用,应用层程序通过调用API来调用操作系统中的各种功能,来干活 文件操作的一般步骤: 1.在linux系统 ...
- C语言的fopen函数(文件操作/读写)
头文件:#include <stdio.h> fopen()是一个常用的函数,用来以指定的方式打开文件,其原型为: FILE * fopen(const char * path, c ...
- Python的文件操作
文件操作,顾名思义,就是对磁盘上已经存在的文件进行各种操作,文本文件就是读和写. 1. 文件的操作流程 (1)打开文件,得到文件句柄并赋值给一个变量 (2)通过句柄对文件进行操作 (3)关闭文件 现有 ...
随机推荐
- HDU 5226
公式啊,公式啊....TAT 杭电题解.....高中生...... 对于卢卡斯定理,由于p较大,所以不可能按一般的来算,n,m较小,循处理出n!的逆元对p的,然后可以按照卢卡斯定理,降低,对后面的就可 ...
- STL在迭代的过程中,删除指定的元素
直接上Code,上 Picture #include <iostream> #include <list> using namespace std; // STL在迭代的过程中 ...
- DotNetBar.Bar作为容器使用的方法及Text更新原理
DotNetBar.Bar作为容器使用的方法及Text更新原理 老帅 一.容器用法 控件DevComponents.DotNetBar.Ba ...
- 人见人爱A+B(杭电2033)
/*人见人爱A+B Problem Description HDOJ上面已经有10来道A+B的题目了,相信这些题目以前是大家的最爱,希望今天的这个A+B能给大家带来好运.也希望这个题目能唤起大家对AC ...
- Android View的onTouch和onClick和onLongClick事件
这三个事件的调用顺序是: onTouch->onLongClick->onClick 先看这三个事件的处理函数: public boolean onTouch(View v, Motion ...
- LA3276
费用流 这种棋盘模型大概都是网络流吧 首先我们知道棋子之间不会影响到达目标的步数,那么就好做了,枚举终点,然后就是最小权匹配了,因为就是寻找总和最小,然后费用流就行了. #include<bit ...
- Coursera Algorithms week3 归并排序 练习测验: Shuffling a linked list
题目原文: Shuffling a linked list. Given a singly-linked list containing n items, rearrange the items un ...
- 0522 json
一.概念 json依赖于js和xml,是一种数据交换格式,json对比xml的生成和处理要更加方便.因此在许多领域,json正逐步取代xml的使用. 二.使用 1.在JS当中 json在javascr ...
- Java 网络IO编程(BIO、NIO、AIO)
本概念 BIO编程 传统的BIO编程 代码示例: public class Server { final static int PROT = 8765; public static void main ...
- Kali linux 2016.2(Rolling)之 Nessus安装及Plugins Download Fail 解决方法
最近,因科研需要,学习Nessus. Nessus是一款优秀的漏洞扫描软件,在其v6 HOME版本中在线更新漏洞插件不成功,采用离线更新,成功地更新了插件,在此将更新方法进行分享. 1.Nessus软 ...