库函数方式文件编程
2015-04-19 07:42
232 查看
1.核心理论
库函数:基于c函数库的文件编程是独立于具体的操作系统平台的,不管是在windows下还是linux下,都是使用这些函数,使用库函数进行程序设计可提高程序的可移植性。流:对于标准的c函数库,它们的操作都是围绕流来进行的。流是一个抽象的概念,当程序需要读取数据的时候,就会开启一个通向数据源的流,这个数据源可以是文件,内存或者网络连接。类似的,当程序需要写入数据的时候,就会开启一个通向目的的流,这时候你就可以想象数据好像在其中“流”动一样。
文件指针:在系统调用方式实现文件访问中,使用文件描述符来指向一个文件。在库函数方式的文件访问中,使用FILE类型来表示一个打开的文件,这个类型中包含了管理文件流的信息。而指向该类型的指针FILE*则被称之为文件指针。
2.函数学习
打开文件函数名:fopen
函数原型:FILE *fopen(const char *path, const char *mode);
函数功能:打开文件
头文件:<stdio.h>
返回值:成功:文件指针, 失败:NULL
参数说明:path:含路径的文件名 mode:文件打开模式
关闭文件
函数名:fclose
函数原型:int fclose(FILE *fp);
函数功能:关闭文件
头文件: <stdio.h>
返回值:成功:0 失败:EOF
参数说明:fp:文件指针
读文件
函数名:fread
函数原型:size_t fread(void *ptr, size_t size, size_t nmemb, FILE *steam);
函数功能:从文件中读取数据
头文件: <stdio
4000
.h>
返回值:成功:读取到的数据量 失败:0
参数说明:stream:指向要读取的文件 ptr:指向要保存的位置 memb:读取的数据块数 size:每块数据的大小
写文件
函数名:fwrite
函数原型:size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream);
函数功能:向文件中写入数据
头文件:<stdio.h>
返回值:成功:返回成功写入数据量 失败:0
参数说明:stream:要写入数据的文件指针 ptr:存放要写入文件的数据 nmemb:要写入的数据块数 size:每块数据的大小
文件分定位
函数名:fseek
函数原型:int fseek(FILE *stream, long offset, int whence);
函数功能:重新定位文件
头文件: <stdio.h>
返回值:成功:0 失败:-1
参数说明:stream:文件指针 offset:文件偏移 whence:从哪个地方开始偏移
3.综合实例
/****************************************************************** * 程序名:filecp.c * 功能:文件复制 ******************************************************************/ #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { FILE *fp_src, *fp_des; int num; char buff[128]; if(argc != 3) { printf("the format must be:cp file_src file_des\n"); exit(EXIT_FAILURE); } if((fp_src=fopen(argv[1],"r"))==NULL) { perror("fopen"); exit(EXIT_FAILURE); } if((fp_des=fopen(argv[2],"w"))==NULL) { perror("fopen"); exit(EXIT_FAILURE); } while((num=fread(buff,1,128,fp_src))>0) { fwrite(buff,1,num,fp_des); } fclose(fp_src); fclose(fp_des); return 0; }
相关文章推荐
- 2-9 库函数调用方式文件编程
- 04-库函数方式文件编程
- 库函数方式文件编程----fopen
- [国嵌攻略][076][库函数方式文件编程]
- 文件编程之库函数方式
- 文件编程:系统调用方式
- 以编程方式打印 XPS 文件
- uglifyjs压缩js文件(指令压缩/ 批量压缩/ 编程方式压缩)
- 模板编程的文件组合方式
- 2-8 系统调用方式的文件编程
- Linux文件编程,时间编程——库函数-文件访问
- 编程方式安装.apk文件
- Android网络编程之Socket方式上传对象序列化文件(客户端)
- Linux系统编程_2_文件I/O(系统调用&库函数)
- 缓存之缓存文件依赖及编程方式设置输出缓存过期
- 编程(C#)实现创建快捷方式文件
- Linux下C编程入门(.h文件,.c文件,以及多文件调用的方式)
- linux应用编程笔记(6)库函数方式实现文件复制编程
- 在vs中用C的编程方式生成.dll文件并且动态、静态调用dll中的函数
- 编程(C#)实现创建 internet快捷方式 文件