久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長資訊網
      最全最豐富的資訊網站

      非緩沖文件系統(tǒng)

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

      贊(0)
      分享到: 更多 (0)
      網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號