现在的位置: 首页 > 综合 > 正文

文件访问

2013年08月13日 ⁄ 综合 ⁄ 共 1258字 ⁄ 字号 评论关闭

1.1、linux系统调用

1.1.1、创建

int create(const char *filename, mode_t mode)

1.1.2、文件描述

打开文件对应一个文件描述符,该整数由系统分配。
0 - OPEN_MAX

1.1.3、打开

int open(const char *pathname, int flags)

flags:打开标记
如flages=O_CREATE时改
用函数:
int open(const char *pathname, int flags, mode_t mode)

1.1.4、读、写

int read(int fd, const void *buf, size_t length)
int write(int fd, const void *buf, size_t length)

从文件描述符fd所指定的文件中读取length个字节到buf所指向的缓冲区中,返回值为实际读取的字节数。

1.1.5、定位

int lseek(int fd, offset_t offset, int whence)

将文件读写指针相对whence移动offset个字节。操作成功时候,返回文件

指针相对于文件头的位置。

whence :
SEEK_SET:相对文件开头
SEEK_CUR:相对文件读写指针当前位置
SEEK_END:相对文件结尾

1.1.6、访问判断

int access(const char *pathname, int mode)

1.2、C库函数

1.2.1、创建和打开

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

1.2.2、读、写

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

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

从stream指向的文件中读取n个字段,每个字段为size字节,并将读取的数据放入ptr指向的字符数组中,返回实际已读取的字节数。

1.2.3、读、写字符

int fgetc(FILE *stream)
int fputc(int c, FILE *stream)

1.2.4、格式化读、写

fscanf(FILE *stream, char *format[,argument...])

int fprintf(FILE *stream, char *format[,argument,...])

如:
int i;
fscanf(fd,"%d",&i)

1.2.5、定位

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

whence :
SEEK_SET:相对文件开头
SEEK_CUR:相对文件读写指针当前位置
SEEK_END:相对文件结尾

1.2.6、获取路径

char *getcwd(char *buffer, size_t size)

返回路径到大小为size的buffer中。如果size太小,函数返回-1

1.2.7、创建目录

#include <sys/stat.h>

int mkdir(char *dir, int mode)

抱歉!评论已关闭.