Vb教程 Vb.net教程 Vfp教程 C/C++教程 Vc/Vc++教程 Delphi教程 Java教程 Powerbuilder
  杀毒频道 | 短信频道 | 网络电视 | 论文中心 | 学上网 | 学软件 | 网页特效 | 电脑基础 | 论坛  
  NCRE | 软考 | CET | 职称英语 | 司法考试 | 报关员 | 公务员 | CATTI | CPA考试  
  Html教程 | Css教程 | Xml教程 | Asp教程 | Asp.net | Php教程 | Jsp教程 | Linux教程 | QQ技巧  
Photoshop Illustrator ImageReady Maya教程 3D Max教程 Lightscape Coredraw教程 Authorware Autocad教程 Freehand教程
Access教程 Mysql教程 Sql server Oracle教程 Word教程 Excel教程 Powerpoint Frontpage Asp.net源码 Php源代码
Flash教程 Fireworks Dreamweaver C#教程 outlook教程 系统安装 vbscript教程 Javascript Jsp源代码 Asp源代码
您的位置:首页 >> C/C++教程 >> 正文

非缓冲文件系统
文章来源:互联网

前面介绍的缓冲文件系统是借助文件结构体指针来对文件进行管理,通过文件指针来对
文件进行访问,既可以读写字符、字符串、格式化数据,也可以读写二进制数据。非缓冲文
件系统依赖于操作系统,通过操作系统的功能对文件进行读写,是系统级的输入输出,它不
设文件结构体指针,只能读写二进制文件,但效率高、速度快,由于A N S I标准不再包括非缓
冲文件系统,因此建议大家最好不要选择它。本书只骷虻ソ樯堋?br> 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.");
}

[返回]

编程语言 web开发 数据库 网络技术 操作系统 服务器 网页设计 图形设计 办公软件 常用软件 学电脑

Copyright© www.bianceng.cn Powered by 编程入门网 All Rights Reserved.
关于本站 | 版权声明 | 联系我们 | 友情链接 |
编程入门网 版权所有