您的位置:首页 > 其它

与文件管理相关的系统调用 lseek fstat stat lstat

2016-04-24 11:25 267 查看
lsseek系统调用:

lsseek系统调用对文件描述符fildes的读写指针进行设置。也就是说,你可以用它来设置文件的下一个读写位置。

#include<unistd.h>

#include<sys/types.h>

off_t lseek(int fildes , off_t offset , int whence)

offset 参数用来指定位置,而whence参数定义该偏移值的用法。whence可以取下列值之一:

SEEK_SET:offset是一个绝对位置

SEEK_CUR:offset是相对与当前位置的一个相对位置

SEEK_END:offset是相对于文件尾的一个相对位置

offset返回从文件头到文件指针被设置处的字节偏移值,失败返回-1.

fstat系统调用返回与打开的文件描述符相关的文件的状态信息。该信息将会写到一个buf结构中,buf的地址以参数形式传递给fstat。

#include<unistd.h>

#include<sys/stat.h>

#include<sys/types.h>

int fstat( int fildes , struct stat *buf );

int stat( const char *path, struct stat *buf)

int lstat(congst char *path, struct stat *buf)

stat和lstat返回的是通过文件名查到的状态信息。它们产生相同的结果,但当文件是一个符号链接时,lstat返回的是该符号链接本身的信息,而stat返回的是该链接的文件信息。

stat成员:

st_mode:文件权限和文件类型信息

st_ino:与该文件关联的inode

st_dev:保存文件的设备

st_uid:

st_gid

st_atime:文件上一次被访问的时间

st_ctime:该文件的权限、属主、组或内容上一次被改变的时间

st_mtime:该文件的内容上一次别修改的时间

st_nlink:该文件硬链接的个数

struct stat stabuf;

mode_t modes;

stat("filename",&statbuf);

modes = statbuf.st_mode;

if( ! S_ISDIR(modes) )
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: