📄 b.c
字号:
#include<stdio.h>struct f{ char filename[8]; char fileex[3]; char shuxing; char baoliu[10]; char shijian[2]; char riqi[2]; char qishi[2]; char daxiao[4];}file[244];int fd_rename(char *oldfilename,char *newfilename){ int f,i,j,k,l,ll; char name[11]; if((f=open("/dev/fd0",2))!=-1) { lseek(f,512*19,SEEK_SET); read(f,file,7168); i=0; j=0; k=0; while(1) { if(file[i].filename[0]!=0xF5&& file[i].filename[0]!=0x00&& file[i].shuxing!=0x08) { l=0; while(file[i].filename[l]!=0x20&&l<8) { name[l]=file[i].filename[l]; l++; } ll=0; while(file[i].fileex[ll]!=0x20&&ll<3) { if(ll==0){l++;name[ll+l-1]='.';} name[ll+l]=file[i].fileex[ll]; ll++; } name[l+ll]='\0'; while(name[j]!=0x20&&oldfilename[j]!='\0') { if(oldfilename[j]=='\0')break; if(name[j]!=oldfilename[j])break; j++; } if(name[j]=='\0'&& oldfilename[j]=='\0') { while(newfilename[k]!='\0') { name[k]=newfilename[k]; k++; } break; } } j=0; k=0; i++; if(i==244)break; } if(i==244)return -1; else { j=0; l=0; k=0; while(newfilename[j]!='.'&&newfilename[j]!='\0') { file[i].filename[j]=newfilename[j]; j++; } l=j; while(l<8){file[i].filename[l]=0x20;l++;} j++; while(newfilename[j+k]!='\0') {if(k==0&&newfilename[j+k-1]!='.')break; file[i].fileex[k]=newfilename[j+k]; k++; } while(k<3){file[i].fileex[k]=0x20;k++;} lseek(f,19*512,SEEK_SET); if(write(f,file,7168)==-1)printf("error write\n"); return 0; } } else printf("error to open derive!\n"); return 0;}void main(){ char *p1,*p2; char a[10],b[10]; int f; p1=a; p2=b; scanf("%s",a); scanf("%s",b); f=fd_rename(p1,p2); if(f!=0)printf("Can't find the file!\n");}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -