非缓冲文件系统

2016-02-19 13:05 4 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.");
  
  }
  
  

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

延伸阅读
标签: 服务器
Linux文件系统基本结构   Linux的文件系统结构 Linux文件系统为一个倒转的单根树状结构 文件系统的根为"/" 文件系统严格区分大小写 路径使用/来分割,在windows使用"" 当前工作目录 1 每一个shell或系统进程都有一个当前工作目录 2 使用pwd命令可以显示当前的工作目录 ...
    简介 ReiserFS文件系统是一种新的linux文件系统。它通过一种与众不同的方式--完全平衡树结构来容纳数据, 包括文件数据,文件名以及日志支持,并能在上面继续保持很快的搜索速度和很高的效率。ReiserFS文件系统一直以来被用在高端Unix系统上如,SGI。 ReiserFS是在Hans Reiser和其领导下的开发小组下开发和发展,SuSE ...
标签: PHP
PHP有很多与文件系统相关的函数,不仅可以帮助你打开文件,还可以显示目录内容、移动文件等。很多人甚至使用PHP写出了基于Web的文件管理器。 首先需要提醒一些关于文件路径的东西:在Windows你可以在文件路径中使用斜线/或反斜线\,而其他操作系统仅使用/。出于兼容性考虑,以下实例使用/的表示方法: 下面的简单脚本显示了一...
文件系统控件方案:文件搜索器 应用程序因为用户常常希望快速查找应用程序的可用文件或文件组,所以,许多应用程序都提供查询文件系统的功能。Winseek.vbp 示例应用程序协助用户浏览驱动器和目录并显示所有类型的文件。 下表总结了 WinSeek 应用程序在Seek.frm 窗体中使用的控件。 注意 文件系统控件没有 caption ...
  名称: swapon 使用者权限: 超级使用者(super-user) 使用方式: /sbin/swapon -a [-v] /sbin/swapon [-v] [-p priority] specialfile ... /sbin/swapon [-s] -h 请帮帮我 -V 显示版本讯息 -s 显示简短的装置讯息 -a 自动启动所有SWAP装置 -p 设定...

经验教程

362

收藏

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