LInux 编程基础学习笔记 持续ing 文件读写

一。文件读写

1.创建文件:

                    头文件: <sys/types.h>     <sys/stat.h>     <fcntl.h>

                    函数:creat(char *path,int mode)  mode:S_I(R|W|X)(USR|GRP|OTH)   对不同用户组的不同读写执行

2.打开文件:

                    文件头: <sys/types.h>    <sys/stat.t>    <fcntl.h>

                    函数:open(char *path,int oflag,mode) oflag:O_RDONLY,O_WRONLY,O_RDWR, O_APPEND,O_CREATE,O_EXCL,O_RUNC

3.都取文件:

                    文件头:<unistd.h>

                    函数:read(int fhand,void *buffer,read_size); 文件句柄,读取文件内容缓冲区,都取大小 PS:从光标处都取,使用lseek 移动光标

4. 写入文件:

                    文件头:<unistd.h>

                    函数:write(int hand,void *buffer,write_size) ;同read

5.移动光标:

                    头文件:<unistd.h>

                    函数:lseek(intfd,offset,whence) ;文件句柄,偏移量,从哪开始: whence预设:文件头:SEEK_SET(开头) SEEK_END(结尾) SEEK_CUR(当前)

6.关闭文件:

                    文件头:<unistd.h>

                    函数:close(句柄) ;

7.修改文件所有人:

                    chown(path,uid,gid)

                    fchown(句柄,uid,gid)

                    lchown(path,uid,gid)

                    chown修改路径指定的文件所有人,fchown修改打开的文件的所有人,lchown修改链接的所有人。以上函数运行时需要有相关的权限否则失败返回-1 root用户是0,0

8.设置文件权限:

                    chmod(path,mode)

                    fchmod(句柄,mode)

                    mode:S_I(R|W|X)(USR|GRP|OTH)   对不同用户组的不同读写执行

                    权限蔽屏:umask(mode) 同linux命令行 umask

9获取文件状态:

                    stat(path,struct stat*buff)

                    fstat(句柄,struct stat* buff)

                    lstat(path,struct stat* buff)

                    stat结构体:<sys/stat.h>

struct stat {
  mode_t st_mode; //文件对应的模式,文件,目录等
  ino_t st_ino; //i-node节点号
  dev_t st_dev; //设备号码
  dev_t st_rdev; //特殊设备号码
  nlink_t st_nlink; //文件的连接数
  uid_t st_uid; //文件所有者
  gid_t st_gid; //文件所有者对应的组
  off_t st_size; //普通文件,对应的文件字节数
  time_t st_atime; //文件最后被访问的时间
  time_t st_mtime; //文件内容最后被修改的时间
  time_t st_ctime; //文件状态(属性)改变时间
  blksize_t st_blksize; //文件内容对应的块大小
  blkcnt_t st_blocks; //文件内容对应的块数量
};

10.创建目录:

                    函数:mkdir(path,mode) mode同文件创建的mode

11.删除目录:

                    函数:rmdir(path);

12.修改文件日期:

                    函数:utime(path,struct utimbuf);struct utimbuf

13.对目录的操作:

                    函数:opendir readdir closedir          

转载于:https://my.oschina.net/u/723981/blog/291977

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值