buffer.c
资源名称:os2.tar.gz [点击查看]
上传用户:kin20054
上传日期:2022-06-28
资源大小:4k
文件大小:1k
源码类别:
操作系统开发
开发平台:
Unix_Linux
- #include <stdio.h>
- #include "buffer.h"
- int read_block(int i,char* p)
- {
- if(p == NULL)
- return -1;
- else
- {
- int k;
- for(k = 0; k < B; k++)
- {
- *(p+k) = ldisk[i][k];
- }
- }
- return 0;
- }
- int write_block(int i,char* p)
- {
- if(p == NULL)
- return -1;
- else
- {
- int k;
- for(k = 0; k < B; k++)
- {
- ldisk[i][k] = *(p+k);
- }
- }
- return 0;
- }
- int save_disk(const char* disk)
- {
- FILE *fp;
- int i,j;
- fp = fopen(disk,"w+");
- for(i = 0; i < L; i++)
- {
- for(j = 0; j < B; j++)
- fputc(ldisk[i][j],fp);
- }
- fclose(fp);
- return 0;
- }
- int read_disk(const char* disk)
- {
- FILE *fp;
- int i,j;
- fp = fopen(disk,"r");
- for(i = 0; i < L; i++)
- {
- for(j = 0; j < B; j++)
- ldisk[i][j] = fgetc(fp);
- }
- fclose(fp);
- return 0;
- }