FLILE 指针:指向一个结构体由三个部分组成
三个部分:(file查看文件的格式)
第一个文件的描述符(在linux的内核中)
文件描述表有0-1023但是前三个文件系统占用了
打开新的文件描述符的都是从小开始占用
第二个读写的文件指针的文字
第三个io缓冲区(用缓冲读的字符)
linux下的api共三层:
应用层:
系统调用:
内核层:可以调用设备驱动
open函数
1 int open(const char *pathname,ing flages) //flages 打开的方式//前提是文件已经存在
2 int open(const char *pathname,ing flages,mode_t mode)//mode是访问的权限//创建新的文件
3 int open(const char *pathname,mode_t mode)
代码如下:
#include<sys/types.h>
#include<sys/stat.h>
#include<fcntl.h>
#include<unistd.h>
#include<stdlib.h>
#include<stdio.h>
int main(){
int fd;
//打开一个存在的文件
fd=open("sin",O_RDWR|O_CREAT|O_EXCL,0777);
//判断文件是否存在
if(fd!=-1){
perror("The file not exit\n");
exit(1);
}
//使用open函数创建新的文1件
fd=open("mylove",O_RDWR|O_CREAT,0777);
if(fd==-1){
printf("fd=%d\n",fd);
}
//关闭文件
int ret=close(fd);
printf("ret=%d\n",ret);//返回值
}