一个用来恢复被误删除的文件的小程序

    技术2022-05-11  73

    一个用来恢复被误删除的文件的小程序

    写了一个挺有意义的小程序,共享出来,万一你也遇到了,可以拿来用用。

    我有两个文件被误删,一个是bcm_ipmc.h,一个是bcm_ipmc.c. 我写了一个小程序,虽然由于恢复得太晚,部分内容已经没了,但是还是恢复了其中的差不多一半内容,也算是有所成就吧。,其中bcm_ipmc.h只有不到100行,bcm_ipmc.c有好几百行。他们存在于/dev/dsk/c0t1d0s7这个分区上,我记住了其中的好多关键字,反复搜索,终于恢复了bcm_ipmc.h的全部内容和bcm_ipmc.c的部分内容。 代码如下:#include ; #include ; int main( void ) { FILE *fp; char buf[1024]; long i=0; long j=0; long k=0; fp=fopen("/dev/dsk/c0t1d0s7","r"); while (!feof(fp)) { fread(buf,1024,1,fp) for( j=0;j<1002;j++ ) { if( !memcmp( buf+j, "IgmpSnoopingProcReport", 22) ) { printf("%ld",i); for(k=0;k<1024;k++) printf("%c",buf[k]); } } i++; } fclose(fp); return 0; } 其中IgmpSnoopingProcReport是其中的一个关键字,我反复查询过好几个关键字。另外,1024是块的长度,我后来把1024改成了更大的数字(1024的整数倍),比如40960, 改动之后,一次就把bcm_ipmc.h的内容全部找出来了。 如果不是删除之后很长时间才找到恢复的办法,而是一删除马上恢复的话,相信会把所有的内容都恢复

     

    最新回复(0)