linux下的c庫函式

被遺棄的庸才發表於2017-05-03

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);//返回值
}

相關文章