亚洲最大看欧美片,亚洲图揄拍自拍另类图片,欧美精品v国产精品v呦,日本在线精品视频免费

  • 站長資訊網(wǎng)
    最全最豐富的資訊網(wǎng)站

    非緩沖文件系統(tǒng)

    前面介紹的緩沖文件系統(tǒng)是借助文件結(jié)構(gòu)體指針來對文件進行管理,通過文件指針來對
    文件進行訪問,既可以讀寫字符、字符串、格式化數(shù)據(jù),也可以讀寫二進制數(shù)據(jù)。非緩沖文
    件系統(tǒng)依賴于操作系統(tǒng),通過操作系統(tǒng)的功能對文件進行讀寫,是系統(tǒng)級的輸入輸出,它不
    設文件結(jié)構(gòu)體指針,只能讀寫二進制文件,但效率高、速度快,由于A N S I標準不再包括非緩
    沖文件系統(tǒng),因此建議大家最好不要選擇它。本書只作簡單介紹。
    1. 文件的打開與關(guān)閉
    非緩沖文件系統(tǒng)不是A N S I標準定義的,是U N I X型I / O系統(tǒng)的一員,所以,其原型位于
    i o . h文件中。
    打開文件:
    int open(char *fname,int acces;s)
    打開文件名為f n a m e,以a c c e s s方式訪問:
    a c c e s s的值為:O _ R D O N LY 只讀
    O _ W R O N LY 只寫
    O _ R D W R 讀寫
    關(guān)閉文件:
    close(int fd);
    下述程序用U N I X系統(tǒng)打開和關(guān)閉一個文件:
    #include “io.h”
    #include “fcntl.h”
    #include “sysstat.h”
    m a i n ( a r g c , a r g v )
    int argc;
    char *argv[]
    {
    int fd;
    if((fd=open(argv[1],O_RDONLY))==-1) 以 /只*讀方式打開文件*/
    {
    printf(“cannt open file!”);
    e x i t ( 0 ) ;
    }
    printf(“file existent!”);
    if (close(fd)) printf(“error in closing filen”);
    }
    2. 文件的讀寫
    對非緩沖文件系統(tǒng)的讀寫函數(shù)的原型在i o . h頭文件中,其調(diào)用形式為:
    int read(int fd,void *buf,int count)
    r e a d ( )函數(shù)從f d說明的文件中讀取c o u n t個字節(jié)到b u f所指向的緩沖區(qū)。函數(shù)的返回值是實際讀寫的字節(jié)數(shù)。
    int write(int fd,void *buf,int count)
    w r i t e ( )函數(shù)把c o u n t個字節(jié)從b u f寫入到f d說明的文件中。函數(shù)的返回值是實際寫入的字節(jié)
    數(shù)。
    下面例子從文件T E S T. T S T中讀取它的前半1 0 0個字節(jié)并放到數(shù)組b u ff e r中。
    #include “io.h”
    #include “stdio.h”
    #include “fcntl.h”
    m a i n ( )
    {
    int fd;
    char buffer[100];
    if ((fd=open(“TEST.TST”,O_RDONLY))==-1)打 /開*文件*/
    {
    printf(“cannot open file !n”);
    e x i t ( 0 ) ;
    }
    if (read(fd,buffer,100)!=100) / *判斷讀寫的字節(jié)數(shù)是否正確* /
    printf(“Possible read error.”);
    }

    贊(0)
    分享到: 更多 (0)
    網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號