前面介紹的緩沖文件系統(tǒng)是借助文件結(jié)構(gòu)體指針來(lái)對(duì)文件進(jìn)行管理,通過(guò)文件指針來(lái)對(duì)文件進(jìn)行訪問(wèn),既可以讀寫字符、字符串、格式化數(shù)據(jù),也可以讀寫二進(jìn)制數(shù)據(jù)。非緩沖文件系統(tǒng)依賴于操作系統(tǒng),通過(guò)操作系統(tǒng)的功能對(duì)文件進(jìn)行讀寫,是系統(tǒng)級(jí)的輸入輸出,它不設(shè)文件結(jié)構(gòu)體指針,只能讀寫二進(jìn)制文件,但效率高、速度快,由于ANSI標(biāo)準(zhǔn)不再包括非緩沖文件系統(tǒng),因此建議大家不要選擇它。本書只作簡(jiǎn)單介紹。
1.文件的打開與關(guān)閉
非緩沖文件系統(tǒng)不是ANSI標(biāo)準(zhǔn)定義的,是UNIX型I/O系統(tǒng)的一員,所以,其原型位于io.h文件中。
打開文件:
intopen(char*fname,intacces;s)
打開文件名為fname,以access方式訪問(wèn):
access的值為:O_RDONLY只讀O_WRONLY只寫O_RDWR讀寫
關(guān)閉文件:
close(intfd);
下述程序用UNIX系統(tǒng)打開和關(guān)閉一個(gè)文件:
#include"io.h"
#include"fcntl.h"
#include"sys\stat.h"
main(argc,argv)
intargc;
char*argv[]
{
intfd;
if((fd=open(argv[1],O_RDONLY))==-1)以/只*讀方式打開文件*/
{
printf("canntopenfile!");
exit(0);
}
printf("fileexistent!");
if(close(fd))printf("errorinclosingfile\n");
}
1.文件的打開與關(guān)閉
非緩沖文件系統(tǒng)不是ANSI標(biāo)準(zhǔn)定義的,是UNIX型I/O系統(tǒng)的一員,所以,其原型位于io.h文件中。
打開文件:
intopen(char*fname,intacces;s)
打開文件名為fname,以access方式訪問(wèn):
access的值為:O_RDONLY只讀O_WRONLY只寫O_RDWR讀寫
關(guān)閉文件:
close(intfd);
下述程序用UNIX系統(tǒng)打開和關(guān)閉一個(gè)文件:
#include"io.h"
#include"fcntl.h"
#include"sys\stat.h"
main(argc,argv)
intargc;
char*argv[]
{
intfd;
if((fd=open(argv[1],O_RDONLY))==-1)以/只*讀方式打開文件*/
{
printf("canntopenfile!");
exit(0);
}
printf("fileexistent!");
if(close(fd))printf("errorinclosingfile\n");
}

