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

来源:互联网 发布:药品网络销售 编辑:程序博客网 时间:2024/06/14 18:20

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位



0 0