📄 c.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 QFAT(int f,char qs[2]){ char fato[3],fati[3]; int i,seek,qss[2],g,fat[3]; for(i=0;i<2;i++) { if(qs[i]<0)qss[i]=qs[i]+256; else qss[i]=qs[i]; } while(1) { printf("Q:::qss[1]:%d|qss[0]:%d|\n",qss[1],qss[0]); if((qss[0]%2)==0)g=0; else g=1; printf("seek:%d|\n",seek=(qss[0]/2)*3+qss[1]*384); lseek(f,512+seek,SEEK_SET); read(f,fato,3); for(i=0;i<3;i++) { if(fato[i]<0)fat[i]=fato[i]+256; else fat[i]=fato[i]; } if(g==0) { fati[0]=0x00; fati[1]=fat[1]&0x000000F0; fati[2]=fat[2]; } else { fati[0]=fat[0]; fati[1]=fat[1]&0x0000000F; fati[2]=0x00; } lseek(f,512+seek,SEEK_SET); write(f,fati,3); lseek(f,5120+seek,SEEK_SET); write(f,fati,3); if(g==0) { qss[0]=fat[0]; qss[1]=fat[1]%16; } else { qss[0]=(fat[1]%256)/16+(fat[2]%16)*16; qss[1]=fat[2]/16; } // for(i=0;i<2;i++){if(qs[i]<0)qss[i]=qs[i]+256;else qss[i]=qs[i];} printf("GGH:::qss[1]:%d|qss[0]:%d\n",qss[1],qss[0]); if(qss[0]>=248&&qss[1]>=15||qss[0]==0x00&&qss[1]==0x00)break; } return 0;}int fd_rm(char *name){ int f,where,i=0,j=0,ll=0,l=0,k=0; char nam[11]; char qs[2]; 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) { nam[l]=file[i].filename[l]; l++; } ll=0; while(file[i].fileex[ll]!=0x20&&ll<3) { if(ll==0){l++;nam[ll+l-1]='.';} nam[ll+l]=file[i].fileex[ll]; ll++; } nam[l+ll]='\0'; while(nam[j]!=0x20&&name[j]!='\0') { if(name[j]=='\0')break; if(nam[j]!=name[j])break; j++; } if(nam[j]=='\0'&& name[j]=='\0') { qs[0]=file[i].qishi[0]; qs[1]=file[i].qishi[1]; file[i].filename[0]=0xE5;// file[i].filename[1]=0x00; // file[i].filename[2]=0x00; // file[i].filename[3]=0x00; // file[i].filename[4]=0x00; // file[i].filename[5]=0x00; // file[i].filename[6]=0x00; // file[i].filename[7]=0x00; // file[i].filename[8]=0x00; // file[i].filename[9]=0x00; // file[i].filename[10]=0x00; lseek(f,512*19,SEEK_SET); write(f,file,7168); if(QFAT(f,qs)==-1)return -1; break; } } j=0; i++; if(i==244)break; } if(i==244) { printf("error to find file\n"); return -1; } else return 0; } else printf("ERROR TO OEPN EDVICE!\n"); return -1;}void main(){ char *a,b[11]; a=b; scanf("%s",a); printf("%d\n",fd_rm(a));}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -