国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

非緩沖文件系統

2019-11-17 05:36:46
字體:
來源:轉載
供稿:網友

前面介紹的緩沖文件系統是借助文件結構體指針來對文件進行治理,通過文件指針來對
文件進行訪問,既可以讀寫字符、字符串、格式化數據,也可以讀寫二進制數據。非緩沖文
件系統依靠于操作系統,通過操作系統的功能對文件進行讀寫,是系統級的輸入輸出,它不
設文件結構體指針,只能讀寫二進制文件,但效率高、速度快,由于A N S I標準不再包括非緩
沖文件系統,因此建議大家最好不要選擇它。本書只作簡單介紹。
1. 文件的打開與關閉
非緩沖文件系統不是A N S I標準定義的,是U N I X型I / O系統的一員,所以,其原型位于
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 讀寫
關閉文件:
close(int fd);
下述程序用U N I X系統打開和關閉一個文件:
#include "io.h"
#include "fcntl.h"
#include "sys/stat.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 file/n");
}
2. 文件的讀寫
對非緩沖文件系統的讀寫函數的原型在i o . h頭文件中,其調用形式為:
int read(int fd,void *buf,int count)
r e a d ( )函數從f d說明的文件中讀取c o u n t個字節到b u f所指向的緩沖區。函數的返回值是實際讀寫的字節數。
int write(int fd,void *buf,int count)
w r i t e ( )函數把c o u n t個字節從b u f寫入到f d說明的文件中。函數的返回值是實際寫入的字節
數。
下面例子從文件T E S T. T S T中讀取它的前半1 0 0個字節并放到數組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) / *判定讀寫的字節數是否正確* /
printf("Possible read error.");

}



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 邓州市| 崇礼县| 师宗县| 乡城县| 姚安县| 海阳市| 海门市| 花莲市| 乐山市| 长岭县| 赤壁市| 宁明县| 萨迦县| 河西区| 乌兰浩特市| 进贤县| 抚顺县| 都江堰市| 昌都县| 安乡县| 大兴区| 广汉市| 罗江县| 科技| 台安县| 石狮市| 六枝特区| 富平县| 阿城市| 宁津县| 秦安县| 大理市| 松溪县| 南通市| 赤水市| 文安县| 浦城县| 淮安市| 汤原县| 喀喇沁旗| 柳州市|