您的位置:首页 > 运维架构 > Linux

linux系统调用——文件操作

2012-01-14 10:25 260 查看
系统调用方式创建文件 :

int creat(const char *filename,mode_t mode)

filename :要创建的文件名 包含路径,缺省为当前路径

mode : 创建模式

S_IRUSR 可读 >> 4

S_IWUSR 可写 >> 2

S_IXUSR 可执行 >> 1

S_IRWXU 可读 写 执行 >>7

无任何权限为 0

文件描述符本质是一个非负整数 有效值为0-OPEN_MAX

打开文件:

int open(const cahr* pathname,int flags)

int open(const cahr* pathname,int flags,mode_t mode)

pathname: 要打开的文件名 包含路径,缺省为当前路径

flags: 打开 标志

O_RDONLY 只读凡是打开

O_WRONLY 只写方式打开

O_RDWR 读写方式打开

O_APPEND 追加方式打开

O_CREAT 创建一个文件

O_NOBLOCK 非阻塞方式打开

如果使用了 O_CREAT 标志则使用 int open(const cahr* pathname,int flags,mode_tmode) 函数 指定mode来表示文件访问权限。

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

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

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

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

将文件读写指针相对whence移动offset个字节,成功返回文件指针相对于文件头的位置。

whence : SEEK_SET 相对文件开头

SEEK_CUR 相对于当前位置

SEEK_END 相对文件末尾

offset 为负值表示向前移动。

判断一个文件的属性:

int access(const char* pathname ,int mode)

mode: R_OK: 文件可读

W_OK:文件可写

X_OK: 文件可执行

F_OK:文件存在

测试成功时返回0 否则返回-1;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: