文件
2016-01-24 23:11
211 查看
C语言使用文件
所有文件里记录的都是二进制内容
文本文件里所有二进制数据都是字符的ASCII码
除了文本文件以外的所有文件,叫二进制文件
所有文件都可以采用二进制方式操作
1. 打开文件
2. 操作文件
3. 关闭文件
1. 打开文件
fopen函数需要两个参数: 要打开文件的路径、打开文件的方式
文件打开方式有如下选择:
"r": 只能查看文件内容,只能从文件头开始查看,要求文件已经存在,否则打开失败
"r+": 比"r"多了修改文件的功能
"w": 只能修改文件内容,不能查看
只能从文件头开始修改
如果文件不存在,则创建文件
如果文件已经存在,则删除文件内容
"w+": 比"w"多了查看功能
"a": 只能修改文件内容
修改方式是在文件末尾追加新内容
如果文件不存在,则创建文件
如果文件已经存在,则不修改文件原有内容
"a+": 比"a"多了查看功能
”b": 也是一种打开方式,它可以和前面的任何一种混用,这个打开方式表示以二进制的方式操作文件
fopen的返回值是一个文件指针,这个文件指针可以在程序中代表一个打开的文件
fopen函数有可能失败,如果失败则返回NULL
一旦完成对文件的所有操作,就必须使用fclose函数关闭文件
fclose 函数需要文件指针作为参数,文件关闭后文件指针称为野指针,必须恢复成空指针
文件操作分为两种:
1。 把内存中一组连续存储区的内容拷贝到文件里(写文件)
2。把文件中一组连续存储区的内容拷贝到内存里(读文件)
fwrite 函数用来写文件
fread 函数用来读文件
这两个函数都需要四个参数:
(1). 内存中第一个存储区的地址
(2). 内存中单个存储区的大小
(3). 希望操作的存储区个数
(4). 文件指针
这两个函数都是以二进制方式对文件进行操作的
文件的位置指针:
计算机为每个文件保留一个整数,这个整数表示下一次读写文件的开始位置
这个整数的数值就是从文件头到这个位置之间包含的字节个数,这个整数叫做文件的位置指针
每当从文件中获得n个字节或写入n个字节,则位置指针会指向后移动n个字节
ftell 函数,可以获得当前位置指针的数值
rewind函数,可以把位置指针移动到文件开头
fseek函数,可以把位置指针移动到文件中的任何位置
这个函数通过选择一个基准位置,另外再加上目标位置到基准位置的距离来表示目标位置
SEEK_SET 0 ---------文件头作为基准位置
SEEK_CUR 1----------当前位置作为基准位置
SEEK_END 2---- ------文件尾作为基准位置
如果目标位置在基准位置后面,则距离是正的
如果目标位置在基准位置前面,则距离是负的
距离表示两个位置之间包含的字节个数
所有文件里记录的都是二进制内容
文本文件里所有二进制数据都是字符的ASCII码
除了文本文件以外的所有文件,叫二进制文件
所有文件都可以采用二进制方式操作
1. 打开文件
2. 操作文件
3. 关闭文件
1. 打开文件
fopen函数需要两个参数: 要打开文件的路径、打开文件的方式
文件打开方式有如下选择:
"r": 只能查看文件内容,只能从文件头开始查看,要求文件已经存在,否则打开失败
"r+": 比"r"多了修改文件的功能
"w": 只能修改文件内容,不能查看
只能从文件头开始修改
如果文件不存在,则创建文件
如果文件已经存在,则删除文件内容
"w+": 比"w"多了查看功能
"a": 只能修改文件内容
修改方式是在文件末尾追加新内容
如果文件不存在,则创建文件
如果文件已经存在,则不修改文件原有内容
"a+": 比"a"多了查看功能
”b": 也是一种打开方式,它可以和前面的任何一种混用,这个打开方式表示以二进制的方式操作文件
fopen的返回值是一个文件指针,这个文件指针可以在程序中代表一个打开的文件
fopen函数有可能失败,如果失败则返回NULL
一旦完成对文件的所有操作,就必须使用fclose函数关闭文件
fclose 函数需要文件指针作为参数,文件关闭后文件指针称为野指针,必须恢复成空指针
文件操作分为两种:
1。 把内存中一组连续存储区的内容拷贝到文件里(写文件)
2。把文件中一组连续存储区的内容拷贝到内存里(读文件)
fwrite 函数用来写文件
fread 函数用来读文件
这两个函数都需要四个参数:
(1). 内存中第一个存储区的地址
(2). 内存中单个存储区的大小
(3). 希望操作的存储区个数
(4). 文件指针
这两个函数都是以二进制方式对文件进行操作的
文件的位置指针:
计算机为每个文件保留一个整数,这个整数表示下一次读写文件的开始位置
这个整数的数值就是从文件头到这个位置之间包含的字节个数,这个整数叫做文件的位置指针
每当从文件中获得n个字节或写入n个字节,则位置指针会指向后移动n个字节
ftell 函数,可以获得当前位置指针的数值
rewind函数,可以把位置指针移动到文件开头
fseek函数,可以把位置指针移动到文件中的任何位置
这个函数通过选择一个基准位置,另外再加上目标位置到基准位置的距离来表示目标位置
SEEK_SET 0 ---------文件头作为基准位置
SEEK_CUR 1----------当前位置作为基准位置
SEEK_END 2---- ------文件尾作为基准位置
如果目标位置在基准位置后面,则距离是正的
如果目标位置在基准位置前面,则距离是负的
距离表示两个位置之间包含的字节个数
相关文章推荐
- Php中heredoc与nowdoc的使用方法
- linux学习之centos(三):网卡配置
- Error:/bin/bash: /bin/java: No such file or directory
- 第二百九十七天 how can I 坚持
- PHP——数组2(数组函数,二维数组,正则表达式)
- 向下转型与运行时类型识别
- UITableView 介绍
- OC基础之创建OC对象类、成员/静态变量、对象/类方法
- C#与C/C++部分基础语法差异
- junit(六)
- HDU 1050 Moving Tables
- 第二天
- select多路复用
- 我要成为优秀的前端一员!
- Java 并发基础
- Java 并发基础
- Java 并发基础
- Android 加载图片优化(一)
- OC基础之一-______HelloWorld
- [转]Unity中使用ulua的个人经验总结