04-库函数方式文件编程
来源:互联网 发布:1hhhh域名升级访问 编辑:程序博客网 时间:2024/05/21 22:40
- 一库函数方式文件编程的优点
- 二两个重要的概念
- 二函数编程的函数说明
- 三文件编程例子
上篇讲解了通过系统调用实现文件编程,本篇通过c函数库实现文件编程。
一、库函数方式文件编程的优点:
基于C函数库的文件编程是独立于具体的操作系统的,不管是在windows,linux,还是其他的操作系统中,都是使用这些函数。使用库函数进行程序设计可以提高程序的可移植性。
二、两个重要的概念:
流:对于标准的C函数库,他们的操作都是围绕流来进行的。流是一个抽象的概念,当程序需要读取数据的时候,就会开启一个通向数据源的流,这个数据源可以是文件,内存,或是网络连接。类似的,当程序需要写入数据的时候,就会开启一个通向目的地的流。这时候你就可以想象数据好像在这其中“流”动一样。
文件指针:在系统调用方式实现的文件访问中,使用文件描述符(一个非负整数)来指向一个文件。在库函数方式的文件访问中,使用FILE类型来表示一个打开的文件,这个类型中包含了管理文件流的信息。而指向该类型的指针FILE * 则被称之为文件指针。
二、函数编程的函数说明
- 打开文件:fopen函数原形FILE *fopen(const char *path, const char *mode)函数功能打开文件头文件#include《stdio.h》返回值成功:返回文件指针; 失败:NULL参数说明path文件路径mode打开文件的模式,r,r+,w,w+,a
- 关闭文件:fclose函数原型int fclose(FILE *fp);函数功能关闭一个打开的文件头文件#include《stdio.h》返回值成功:0; 失败:EOF参数说明fp:待关闭的文件指针;
- 读文件:fread函数原型size_t fread(void *ptr, size_t size, size_t nmemb, FILE *steam);函数功能从文件中读取数据;头文件#include《stdio.h》返回值成功:返回成功读取到的数据量 ; 失败:0参数说明ptr:要保存的数据位置;size:每块数据的大小;nmemb:读取的数据块数;steam:希望读取的文件的文件指针;
- 写文件:fwrite函数原型size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream) 函数功能往一个打开的文件写入数据;头文件#include《stdio.h》返回值成功:返回成功写入的数据量 ; 失败:0参数说明ptr:存放想要写入文件的数据;size:每块数据的大小;nmemb:读取的数据块数;steam:希望写入的文件的文件指针;
- 文件定位:fseek函数原型int fseek(FILE *stream, long offset, int whence); 函数功能设置文件的位置指针;头文件#include《stdio.h》返回值成功:0 ; 失败:-1;参数说明stream:要重新定位的文件指针;offset:相对于第三个参数的偏移量;whence:文件指针相对于文件的位置。
三、文件编程例子:
- 功能从一个文件的内容中任意位置,插入自己想要的内容代码
#include <stdio.h>int main( int argc , char **argv ){ FILE *file_f = fopen( "/home/nan/test/tea.txt" , "r+" ) ; FILE *file_t = fopen( argv[2] , "a+" ) ; char buf[100] ; int size = 0 ; int nmember = 0 ; if( !file_f ){ printf("from open fail\n") ; return -1 ; } if( !file_t ) { printf("write open fail!\n") ; return -1 ; } while( nmember=fread(buf,sizeof(char),100,file_f) ) { nmember = fwrite( buf , sizeof(char), nmember , file_t ) ; if( !nmember ) { printf("write fail!\n") ; return -1 ; } } return 0 ;}
0 0
- 04-库函数方式文件编程
- 库函数方式文件编程
- 文件编程之库函数方式
- Linux学习之库函数方式文件编程
- Linux_3.4_库函数方式文件编程
- 2-9 库函数调用方式文件编程
- 库函数方式访问文件
- LS9-库函数方式文件编程之学习笔记
- 文件编程(库函数调用)
- 文件编程之库函数
- 库函数文件编程练习
- 【Linux库函数编程】文件编程
- Linux库函数方式访问文件
- linux应用编程笔记(6)库函数方式实现文件复制编程
- 文件编程:库函数fopen打开
- 文件编程之库函数调用
- 文件编程之C库函数
- LINUX文件编程-库函数的文件访问
- JDBC连接Hive
- JVM 工作原理和流程
- Android 6.0 SD卡权限申请
- linux内核页框管理的实现
- OkHttp使用详解一
- 04-库函数方式文件编程
- EasyUI多选,easyui datagrid 分页并保持checkbox选中状态
- J2EE性能优化(1)问题定位
- swustoj沙漠储油点
- 6.Django入门:教程-表单和通用视图
- 事务的4种隔离级别
- 四bean的自动装配
- 【QT】信号槽传递自定义数据结构
- idea调试远程spark服务器(2017.04图文,非转载)