⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 file.c

📁 linux文件系统试验 一、实验目的 学习有关linux文件管理程序如何组织的知识
💻 C
字号:
#include <stdio.h>#include <unistd.h>#include <string.h>#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>#define DEVNAME "/dev/fd0H1440"#define BYTES_PER_SECTOR 512void ReadBootSector(unsigned char *buf){  int i;  printf("--------------- Boot -----------------\n");  for (i = 0; i < 32; i++)    printf("%2d ",i);  for (i = 0; i < 256; i++) {    if (i % 32 == 0)       printf("\n");    printf("%2x ",buf[i]);  }  printf("\n\n");}void ReadCluster(unsigned char *buf,int addr){  int i;  printf("---------------Data %x-----------------\n",addr);  for (i = 0; i < 32; i++)    printf("%2d ",i);  for (i = 0; i < 256; i++) {    if (i % 32 == 0)       printf("\n");    printf("%2x ",buf[i]);  }  printf("\n\n");}void ReadFAT(unsigned char *buf){  int i;  printf("----------------FAT-----------------\n");  for (i = 0; i < 32; i++)    printf("%2d ",i);  for (i = 0; i < 256; i++) {    if (i % 32 == 0)       printf("\n");    printf("%2x ",buf[i]);  }  printf("\n\n");}void ReadDirectory(unsigned char *buf){  int i;  printf("--------------ROOTDIR---------------\n");  for (i = 0; i < 32; i++)    printf("%2d ",i);  for (i = 0; i < 256; i++) {    if (i % 32 == 0)       printf("\n");    printf("%2x ",buf[i]);  }  printf("\n\n");}int main(){  int fd,count;  int ret;  unsigned char buf[256];	 /* Attention to type  */	  if ((fd = open(DEVNAME,O_RDWR)) < 0)    perror("open failed");	  if ((count = read(fd,buf,256)) < 0)    perror("read failed");  ReadBootSector(buf);  if ((ret = lseek(fd,0x2600,SEEK_SET)) < 0)    perror("seek failed\n");  if ((count = read(fd,buf,256)) < 0)    perror("read failed\n");  ReadDirectory(buf);  if ((ret = lseek(fd,0x200,SEEK_SET)) < 0)    perror("seek failed\n");  if ((count = read(fd,buf,256)) < 0)    perror("read failed\n");  ReadFAT(buf);  if ((ret = lseek(fd,0x4200,SEEK_SET)) < 0)    perror("seek failed\n");  if ((count = read(fd,buf,256)) < 0)    perror("read failed\n");  ReadCluster(buf,0x4200);  close(fd);  return 0;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -