存储器:
寄存器: 非常快,数量少
内存: 速度快,容量较大,数据掉电消失
外存: 速度慢,容量非常大
1、文件IO
Linux上一切皆是文件
文件描述符: 非负整数,当创建或打开文件时会返回一个顺序分配的非负整数,这个整数就是文件描述符,
文件IO就是通过文件描述符来对文件进行操作
一个程序中有3个文件自动打开:
标准输入(键盘): 0
标准输出(屏幕):1
标准错误输出(屏幕):2
open: 打开文件
close: 关闭文件
read: 读
write: 写
lseek: 定位
man 2/3 函数名 --- 查看函数
2、文件API
1、open: 打开文件
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
int open(const char *pathname, int flags);
int open(const char *pathname, int flags, mode_t mode);
参数:pathname — 路径+文件名,如果是当前目录下的文件则不用加路径
flags — O_RDONLY —只读
O_WRONLY —只写
O_RDWR —可读写
O_TRUNC — 清空文件
O_APPEND — 追加打开
O_CREAT — 当打开的文件不存在时,创建该文件,并使用第三个参数0777(权限)
返回值:
成功: 文件描述符
失败: -1,并设置errno
perror(“提示符”); — 打印系统错误信息