定义:在posix(可移植操作系统接口)中定义的一组输入输出函数。
特点:
1.没有缓冲机制(每次操作都经过系统调用)
2.围绕文件描述符操作,都是非负整数(0.1.2)
3.默认打开三个文件描述符(0标准输入、1标准输出、2标准错误)
4.除目录外其他任意类型文件都可以操作
int open(文件路径名,打开文件方式);
文件io打开文件方式: 返回值:成功——文件描述符;失败——“-1”
1.O_RDONLY 只读 头文件:
2.O_WRONLY只写 #include<stdio.h> #include<sys/stat.h>
3.O_RDWR可读可写 #include<fcntl.h>
4.O_CREAT创建
5.O_TRUNK清空
6.O_APPEND追加
当参数中有O_CREAT时需要给open函数传递创建文件权限的参数
open("./text.c",O_CREAT|O_RDONLY)
#include<stdio.h>
#include<sys/stat.h>
#inxlude<fcntl.h>
int main
{
int fd;//打开文件 它会产生一个新的文件描述符
fd=open("./text.c",O_RDONLY);
fd=open("./text.c",O_CREAT|O_RDONLY|O_TRUNC,0666);
//当参数中有O_CREAT时需要给open函数传递创建文件权限的参数
if(fd<0)
{
perror("open err");
return -1;
}
printf("fd:%d\n",fd);
return 0;
}
实际创建出来的文件权限为指定权限值&(~umask)
//umask为文件权限掩码,通过umask命令可以查看
标准io 与 文件io 打开文件方式对照
标准IO | 文件IO |
r | O_RDONLY |
r+ | O_RDWR |
w | O_WRONLY |
w+ | O_RDWR|O_TRUNC|O_CREAT |
a | O_APPEND|O_CREAT|O_WRONLY |
a+ | O_RDWR|O_APPEND|O_CREAT |
关闭文件:close(fd)
fd=文件指针