与文件管理相关的系统调用 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) )
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) )
相关文章推荐
- 4--指针和数组(上)
- java反射
- 计算机的浮点数表示
- 单例模式的七种写法
- C++作业4
- Java实现大数运算
- java Annotation(注解)(一)
- ElasticSearch之Java Api聚合分组实战
- SpringMVC请求静态资源异常
- Gson的简单使用(一)
- Unity序列化和持久化
- MySQL5.6 centos6.5安装实践
- 视频压缩
- c++实验4--百钱买百鸡的解决方案
- Redis命令-有序集合-zscore
- Android中使用ContentProvider管理系统资源的实例
- 正确新建maven工程2
- 《浅谈磁盘控制器驱动》,磁盘控制器驱动答疑解惑![2012.1.29完结]by skyfree
- edit 焦点问题
- eclipse中项目复制后发布出现问题