Linux文件编程

来源:互联网 发布:生物多样性 知乎 编辑:程序博客网 时间:2024/05/16 04:22

Linux文件编程

1 .系统调用方式

1. 创建文件

  Int creat (const char *filename,mode_t mode)

参数

  • Filename:(字符串型)要创建文件的文件名(包含路径,缺省为当前路径)
  • Mode:属性       表格参考

    参数 释义 数字表示 S_IRUSR 可读 ->4 S_IWUSR 可写 ->2 S_IXUSR 可执行 ->1 S_IRWXU 可读,写,执行 ->7

    Tips 1 数字可以加减自由组 

2.系统调用方式

1.库函数-创建和打开

 FILE *fopen(const char *filename,const char *mode)

功能 : 以不同方式读取指定文件
参数:

  • filename:打开文件的文件名(包含路径,缺省为当前路径)
  • Mode:打开模式

    参数 释义 备注(如果不存在) r,rb 只读方式打开 无 w,wb 只写方式打开 创建该文件 a,ab 追加方式打开 创建该文件 r+,r+b,rb+ 读写方式打开 无 w+,w+b,wh+ 读写方式打开 创建该文件 a,a+b,ab+ 读和追加方式打开 创建该文件

     “b/b+ ”的用法在Windows系统中区分二进制文件与文本文件,带b的为二进制文件,不带b的为文本文件但是在Linux系统中并不区别二者 。

2.库函数-读

size_t fread(void *ptr,size_t size,size_t n,FILE *stream)

功能:从steam指向的文件中读取n个字段,每个字段为size字节,并将读取的数据放回ptr所指的字符数组中,返回实际已经读取的的字节数
参数:

参数 释义 FILE *stream 要读取的文件 size_t n 读取多少个字段 size_t size 每个字段多少字节 void *ptr 将读取结果放回ptr所指的的数组中 return value 实际已经读取的字节数

3.库函数-写

size_t fwrite(void *ptr,size_t size,size_t n,FILE *stream)

功能:从缓冲区ptr指向的数组中把n个字段写到steam指向的文件中,每个字段为size字节,返回实际已经写入的的字节数
参数:

参数 释义 FILE *stream 要写入的文件 size_t n 写入多少个字段 size_t size 每个字段多少字节 void *ptr 缓冲区代写入数据的指针 return value 实际已经读取的字节数

4.库函数-读字符

int fgetc(FILE *stream)

功能: 从指定的文件读取一个字符
eg:

#include <stdio.h>int main(){    }
1 0