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