您的位置:首页 > 运维架构 > Linux

Linux_3.4_库函数方式文件编程

2015-06-19 10:58 405 查看
1. I/O



为什么使用库函数:



在linux中使用系统调用进行程序设计时,是由linux内核实现的,不利于移植!

由于多数平台都是兼容c的,而用基于c的库函数进行编程,可提高了可移植性!

流:






文件指针:





2.函数的学习方法






点击打开链接



3.1打开文件
3.1.1 函数名

fopen

3.1.2 函数原形

FILE *fopen(const char *path,const char*mode);

3.1.3 函数功能

打开文件

3.1.4 所属头文件

#include<stdio.h>

3.1.5 返回值

成功:返回文件指针

失败:返回null

3.1.6 参数说明

path:指定打开的文件名字(含路径)

mode:文件打开模式

r 只读方式打开一个文本文件

rb 只读方式打开一个二进制文件

w 只写方式打开一个文本文件

wb 只写方式打开一个二进制文件

a 追加方式打开一个文本文件

ab 追加方式打开一个二进制文件

r+ 可读可写方式打开一个文本文件

rb+ 可读可写方式打开一个二进制文件

w+ 可读可写方式创建一个文本文件

wb+ 可读可写方式生成一个二进制文件

a+ 可读可写追加方式打开一个文本文件

ab+ 可读可写方式追加一个二进制文件



linux open与fopen的比较:点击打开链接

3.2关闭文件
3.2.1 函数名

fclose

3.2.2 函数原形

int fclose(FILE*fp)


3.2.3 函数功能

关闭文件

3.2.4 所属头文件

#include<stdio.h>

3.2.5 返回值

成功:0

失败:EOF

3.2.6 参数说明

fp:待闭的文件指针

3.3读文件

3.3.1 函数名

fread

3.3.2 函数原形

size_t fread(void *ptr,size_t size,size_tnmemb,FILE *fp)

3.3.3 函数功能

从文件中读取数据

读取fp文件,读取nmemb块,每块有size个数据,将数据保存到ptr中.

3.3.4 所属头文件

#include<stdio.h>

3.3.5 返回值

成功:返回成功读取到的数据量

失败:返回0

3.3.6 参数说明

stream:指向要读取的文件

ptr:指向读取出来后的数据的保存位置

nmemb:读取的数据块数

size:每块数据的大小

3.4写文件
3.4.1 函数名

fwrite

3.4.2 函数原形

size_t fwrite(const void*ptr,size_tsize,size_t nmemb,FILE* stream)

3.4.3 函数功能

向文件中写入数据

3.4.4 所属头文件

#include<stdio.h>

3.4.5 返回值

成功:返回成功写入的数据量

失败:返回0

3.4.6 参数说明

stream:要写入数据的文件的指针

ptr:存放要写入文件的数据

size:每块数据的大小

nmemb:数据的块数

3.5定位文件
3.5.1 函数名

fseek

3.5.2 函数原形

int fseek(FILE *stream,long offset,intwhence)

3.5.3 函数功能

设置文件的位置指针

3.5.4 所属头文件

#include<stdio.h>

3.5.5 返回值

成功:返回0

失败:返回-1

3.5.6 参数说明

stream: 要定位文件的描述符
offset:偏移量
whence:
1.如果 whence是 SEEK_SET ,文件偏移量将被设置为 offset。

2. 如果 whence 是 SEEK_CUR ,文件偏移量将被设置为 cfo 加上 offset,

offset 可以为正也可以为负。

offset为负时,偏移量从当前位置向开头方向移动offset位
offset为正时,偏移量从当前位置向结尾方向移动offset位:
3. 如果 whence 是 SEEK_END ,文件偏移量将被设置为文件长度加上 offset,

offset 可以为正也可以为负。

offset为负时,偏移量从结尾位置向开头方向移动offset位
offset为正时,偏移量从结尾位置向结尾方向移动offset位
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: