非缓冲文件系统

2016-02-19 13:05 9 1 收藏

最近很多朋友喜欢上设计,但是大家却不知道如何去做,别担心有图老师给你解答,史上最全最棒的详细解说让你一看就懂。

【 tulaoshi.com - 编程语言 】

前面介绍的缓冲文件系统是借助文件结构体指针来对文件进行治理,通过文件指针来对
   文件进行访问,既可以读写字符、字符串、格式化数据,也可以读写二进制数据。非缓冲文
   件系统依靠于操作系统,通过操作系统的功能对文件进行读写,是系统级的输入输出,它不
   设文件结构体指针,只能读写二进制文件,但效率高、速度快,由于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 "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 file");
   }
   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 !");
   e x i t ( 0 ) ;
   }
   if (read(fd,buffer,100)!=100) / *判定读写的字节数是否正确* /
   printf("Possible read error.");
  
  }
  
  

来源:http://www.tulaoshi.com/n/20160219/1602951.html

延伸阅读
虚拟文件系统蓝森林 http://www.lslnet.com 2001年5月20日 21:16作 者: difeijingRichard Gooch 23-APR-1999翻译:difeijing 本文档中的惯例用法 ==================文档中的每一节标题的右边都有一个字符串" "。每个小节都会有个" "在右边。这些字符串是为了在文档中查询更容易而设的。注意:本文档的最新更新可在下...
文件系统控件方案:文件搜索器 应用程序因为用户常常希望快速查找应用程序的可用文件或文件组,所以,许多应用程序都提供查询文件系统的功能。Winseek.vbp 示例应用程序协助用户浏览驱动器和目录并显示所有类型的文件。 下表总结了 WinSeek 应用程序在Seek.frm 窗体中使用的控件。 注意 文件系统控件没有 caption ...
    简介 ReiserFS文件系统是一种新的linux文件系统。它通过一种与众不同的方式--完全平衡树结构来容纳数据, 包括文件数据,文件名以及日志支持,并能在上面继续保持很快的搜索速度和很高的效率。ReiserFS文件系统一直以来被用在高端Unix系统上如,SGI。 ReiserFS是在Hans Reiser和其领导下的开发小组下开发和发展,SuSE ...
标签: PHP
PHP有很多与文件系统相关的函数,不仅可以帮助你打开文件,还可以显示目录内容、移动文件等。很多人甚至使用PHP写出了基于Web的文件管理器。 首先需要提醒一些关于文件路径的东西:在Windows你可以在文件路径中使用斜线/或反斜线\,而其他操作系统仅使用/。出于兼容性考虑,以下实例使用/的表示方法: 下面的简单脚本显示了一...
Linux如何扩展XFS文件系统   XFS是一个开源的(GPL)日志文件系统,最初由硅谷图形(SGI)开发,现在大多数的Linux发行版都支持。事实上,XFS已被最新的CentOS/RHEL 7采用,成为其默认的文件系统。在其众多的特性中,包含了在线调整大小这一特性,使得现存的XFS文件系统在已经挂载的情况下可以进行扩展。然而,对于XFS文件系统的缩减却还...

经验教程

754

收藏

10
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部