文件的创建与删除

来源:互联网 发布:书同文古籍数据库 编辑:程序博客网 时间:2024/05/21 11:18
文件的创建与删除
create系统调用的格式

#include <fcntl.h>

int creat(path,mode)

const char *path;

int mode;

参数与功能说明:

该调用创建名为path的文件。如果path已存在,则创建文件的进程对文目录应有执行权限,并且对该文件有写权限。执行成功时,原先path文件的内容被清除,其长度被设置为0,原先文件的 mode,uid,gid被保留,而新指定的mode不起作用。成功时返回文件描述符。

 

remove系统调用的格式

#include <stdio.h>

int remove(path)

const char *path;

 

unlink系统调用的格式

#include <stdio.h>

int unlink(path)

const char *path;

参数与功能说明:

一个文件可以有若干个路径名,unlink的作用是删除某个文件的一个名为path 的路径名,并将文件i接点的连接计数减一。当计数为0时,若仍有进程在打开文件,文件不能立即被删除。

 

文件的打开与关闭
 

open系统调用的格式

#include <fcntl.h>

int open(path,oflag[,mode])

const char *path;

int oflag,mode;

参数与功能说明:

按给定的oflag打开path所指定的文件,可选参数mode一般在创建新文件时使用,其意义与creat调用中的mode一样。Oflag可取值为

O_RDONLY,O_WRONLY,O_RDWR,O_NDEALY,O_CREAT,O_TRUNC,O_EXCL,O_APPEND,O_SYNC,成功时返回文件描述符。

 

close系统调用的格式

#include <unistd.h>

int close(fd)

int fd;

参数与功能说明:

释放指定的文件文件描述符fd,fd意义是用creat.open,dup,fcntl.pipe调用得到的一个文件描述符。

 

文件的读写操作
read系统调用的格式

#include <unistd.h>

int read(fd,buf,nbytes)

int fd;

char *buf;

unsigned nbytes

参数与功能说明:

执行成功返回读入的字节数。

 

write系统调用的格式

#include < unistd.h>

int write(fd,buf,nbytes)

int fd;

char *buf;

unsigned nbytes

参数与功能说明:

执行成功返回写入的字节数。

 

文件的随机存取
lseek系统调用的格式

#include < unistd.h>

long lseek(fd,offset,inter)

int fd;

int offset;

int inter;

参数与功能说明:

调整文件的读写指针,调整方式有inter给出。Inter可选用的值为SEEK_SET,SEEK_CUT,SEEK_END


文件控制
fcntl系统调用的格式

#include < fcntl.h>

int fcntl (fd,offset,inter)

int fd;

int cmd;

int arg;

参数与功能说明:

对打开的文件进行控制。Arg根据不同的cmd取不同的值。可取为F_DUPFD,F_GETFD,F_GETFL,F_SETFL;;F_GETLK,F_SETLK,F_SETLKW。

flock结构如下:

struct flock

{

short l_type;

short l_whence;

long l_start;

long l_len;

short l_pid;

}
0 0
原创粉丝点击