buffer.c
上传用户:kin20054
上传日期:2022-06-28
资源大小:4k
文件大小:1k
源码类别:

操作系统开发

开发平台:

Unix_Linux

  1. #include <stdio.h>
  2. #include "buffer.h"
  3. int read_block(int i,char* p)
  4. {
  5.   if(p == NULL)
  6.     return -1;
  7.   else
  8.   {
  9.     int k;
  10.     for(k = 0; k < B; k++)
  11.     {
  12.       *(p+k) = ldisk[i][k];
  13.     }
  14.   }
  15.   return 0;
  16. }
  17. int write_block(int i,char* p)
  18. {
  19.   if(p == NULL)
  20.     return -1;
  21.   else
  22.   {
  23.     int k;
  24.     for(k = 0; k < B; k++)
  25.     {
  26.       ldisk[i][k] = *(p+k);
  27.     }
  28.   }
  29.   return 0;
  30. }
  31. int save_disk(const char* disk)
  32. {
  33.   FILE *fp;
  34.   int i,j;
  35.   fp = fopen(disk,"w+");
  36.   for(i = 0; i < L; i++)
  37.   {
  38.     for(j = 0; j < B; j++)
  39.       fputc(ldisk[i][j],fp);
  40.   }
  41.   fclose(fp);
  42.   return 0;
  43. }
  44. int read_disk(const char* disk)
  45. {
  46.   FILE *fp;
  47.   int i,j;
  48.   fp = fopen(disk,"r");
  49.   for(i = 0; i < L; i++)
  50.   {
  51.     for(j = 0; j < B; j++)
  52.       ldisk[i][j] = fgetc(fp);
  53.   }
  54.   fclose(fp);
  55.   return 0;
  56. }