文件操作

os 操作系统:Windows Linux iOS 安卓 黑莓
操作系统的概念:资源管理,任务调动的单元
文件管理:文件操作(所有的设备都是文件:打开,读写,关闭)
任务管理:进程和线程,多进程,多线程,通信方式
网络管理:网络知识,通信方式(TCP,UDP,广播方式)
资源管理(内存管理):内存的申请和释放

内核角度:
内核函数:内核的库中
函数:参数和返回值
内核看不到,用一些方法去验证

文件操作:
1、IO文件的操作:文件流 FILE *fd = NULL
(1)fopen fclose fgets fgetc putc puts fread fwrite ftell fseek fprintf fscanf feof sprintf sscanf
(2)效率高,基于用户的操作,位于应用层
(3)不能对设备操作,只能操作文本文件
(4)函数比较丰富,操作简单
2、内核的文件操作
(1)文件的分类 常见的有7种
①块设备 b
②字符设备 c
③目录文件 d
④管道文件 p
⑤链接文件 l
⑥套接字文件 s
⑦普通文件 -
(2)文件的权限:八进制表示
①可读的 r-- 4
②可写的 w-- 2
③可执行的 x-- 1
(3)文件的表示方式:文件描述符
①大于0的正整数
②0、1、2 默认
#define STDIN_FILENO 0 //标准输入
#define STDOUT_FILENO 1 //标准输出
#define STDERR_FILENO 2 //错误
(4)文件操作的函数
①access 检查权限 #include <unistd.h>
1)参数:文件路径名 mode
2)返回值:成功–0
失败–!0
mode :( F_OK W_OK R_OK X_OK )
②open 打开文件 (如果不存在就创建)
#include <sys/stat.h>
#include <fcntl.h>
int open(const char *path,int oflag)
int openat(int fd,const char *path,int oflag)
oflag:O_EXEC O_RDONLY O_RDWR O_WRONLY O_CREAT
1)参数:文件路径名、文件名
打开方式 : oflag
2)文件不存在:创建-------多一个参数:(mode_t 0644)
3)返回值:成功—文件的描述符
失败----1
③write()
1) 参数:文件描述符 数据的缓冲区 大小
2) 返回值:成功—写入的字符数 失败— -1
④read()
1)参数:文件描述符 缓冲区 大小(sizeof())
2)返回值:成功-- 读的字节数 失败-- -1
⑤lseek()文件位置的偏移
1)参数:fd 距离 whence的偏移 SEEK_SET SEEK_CUR SEEK_END
2)返回值:偏移量
⑥stat()文件的属性
#include <sys/stat.h>
在这里插入图片描述

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值