Chinaunix首页 | 论坛 | 博客
  • 博客访问: 5204056
  • 博文数量: 553
  • 博客积分: 13864
  • 博客等级: 上将
  • 技术积分: 11041
  • 用 户 组: 普通用户
  • 注册时间: 2011-11-28 21:25
个人简介

个人Blog: hhktony.com

文章分类

全部博文(553)

文章存档

2015年(1)

2014年(2)

2013年(12)

2012年(384)

2011年(154)

分类: LINUX

2012-03-21 18:05:06

Linux中文件变成可以用两种方法:
    Linux系统调用 :依赖Linux系统
    C语言库函数

系统调用-创建
    int creat(const char *filename, mode_t mode);

文件描述符
    Linux系统中,所有打开的文件都对应一个[文件描述符]。
    它的本质是一个[非负整数]。当打开一个文件时,该整数
    由系统来分配。分配原则:没有用的最小整数。

系统调用-打开
    int open(const char *pathname, int flags);
    int open(const char *pathname, int flags, mode_t mode);

    flags:
        O_RDONLY, O_WRONLY, ORDWR
        O_APPEND, O_CREAT, O_NOBLOCK
    O_CREAT 打开文件时文件不存在时创建文件,这时就用3个参数的open

系统调用-关闭
    int close(fd);

系统调用-读
     int read(int fd, const void *buf, size_t length);
     功能:从文件描述符[fd所指向的文件]中[读取length个字节]
     到[buf所指向的缓冲区]中,返回[实际读取的字节数]。

系统调用-写
    int write(int fd, const void *buf, size_t length);
    功能:把[length个字节的数据]从[buf指向的缓冲区]中写到文件
    描述符[fd所指向的文件]中,返回值为实际写入的字节数(其实
    也就是length,如果不是length那么写入失败)

系统调用-定位
    off_t lseek(int fd, off_t offset, int whence);
    功能:将文件读写指针相对whence移动offset个字节。操作成功
    返回相对于文件头的位置。
    whence:
        SEET_SET:相对文件开头
        SEET_CUR:当前位置
        SEEk_END:相对文件末尾
    offset可取[负值],表示向前移动。
    注意:off_t类型是[带符号]的,在ilp32平台上是32个字节,
        在ip64平台上是64个字节

系统调用-访问判断
    int access(const char *pathname, int mode);
    mode:要判断的访问权限。可以取下面的值或者它们的组合
        R_OK:可读,    W_OK:可写
        X_OK:可执行    F_OK:存在
    符合条件返回0, 否则返回-1
阅读(1948) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~