首页 > 技术文章 > Linux文件编程

maobitcoder 2017-02-05 18:43 原文

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()
{
    }


推荐阅读