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

来源:互联网 发布:win7 网络 0对象 编辑:程序博客网 时间:2024/04/29 20:50

一。文件读写

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          

原创粉丝点击