offset= (3) ;/*保留合并文件讀/寫位置*/
fseek( (4) );/*定位于被恢復(fù)文件首*/
copyfile(fin,fout,inp->length);
fclose(fout);
printf("\n---文件名:%\n文件長(zhǎng):%1d.
\n",inp->fname,inp->length);
(5) ;/*恢復(fù)合并文件讀/寫位置*/
return 0;
}
int main(int argc,char *argv[])
{FileInfo finfo;
char fname[256];FILE *fcmbn;
if(argc<2){printf("輸入合并文件名:");scanf("%s",fname);}
else strcpy(fname,argv[1]);
if((fcmbn=fopen(fname,"rb"))==NULL){
printf("文件打開錯(cuò)誤:%s\n",fname);return 1;
}
fseek(fcmbn,-sizeof(FileInfo),SEEK_END);/*定位于合并文件末尾的標(biāo)志信息*/
fread(&finfo,1,sizeof(FileInfo),fcmbn);
if(finfo.length!=0 || strcmp(finfo.fnane,"CombinedFile")){
printf("指定的文件不是合法的合并文件\n");
fclose(fcmbn);return 2;
}
fseek(fcmbn,finfo.offset,SEEK_SET);/*定位于首個(gè)原始文件的控制信息*/
for(;;){/*恢復(fù)一個(gè)(argc>2)或全部(argc=2)原始文件*/
fread(&finfo,1,sizeof(FileInfo),fcmbn);
if(finfo.length==0)break;
if(argc>2 && strcmp(finfo.fname,argv[2]))continue;
if(dofile(fcmbn,&finfo)!=0)break;
}
fcolse(fcmbn);return 0;
}
希望與其他軟考考生進(jìn)行交流?點(diǎn)擊進(jìn)入軟考論壇>>>
更多信息請(qǐng)?jiān)L問:考試吧軟件水平考試欄目
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |