非缓冲文件系统

习惯的小鸟

习惯的小鸟

2016-02-19 13:05

最近很多朋友喜欢上设计,但是大家却不知道如何去做,别担心有图老师给你解答,史上最全最棒的详细解说让你一看就懂。
前面介绍的缓冲文件系统是借助文件结构体指针来对文件进行治理,通过文件指针来对
   文件进行访问,既可以读写字符、字符串、格式化数据,也可以读写二进制数据。非缓冲文
   件系统依靠于操作系统,通过操作系统的功能对文件进行读写,是系统级的输入输出,它不
   设文件结构体指针,只能读写二进制文件,但效率高、速度快,由于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.");
  
  }
  
  
展开更多 50%)
分享

猜你喜欢

非缓冲文件系统

编程语言 网络编程
非缓冲文件系统

ReiserFS文件系统

Linux Linux命令 Linux安装 Linux编程 Linux桌面 Linux软件 Linux内核 Linux管理
ReiserFS文件系统

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

文件系统控件方案

编程语言 网络编程
文件系统控件方案

虚拟文件系统

编程语言 网络编程
虚拟文件系统

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

MySQL的文件系统

编程语言 网络编程
MySQL的文件系统

Linux 文件系统介绍

Linux Linux命令 Linux安装 Linux编程 Linux桌面 Linux软件 Linux内核 Linux管理
Linux 文件系统介绍

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

Jquery 动态添加按钮实现代码

Jquery 动态添加按钮实现代码

win7宽带不能连接最简单的解决方法

win7宽带不能连接最简单的解决方法
下拉加载更多内容 ↓