- 论坛徽章:
- 0
|
在vc++6.0中编译一个保存硬盘分区表程序出错,大家帮忙看一下
在tc2。0的INLCUDE文件中有bios.h这个文件,可是在里面编译后报错为,打不开程序中所有的INCLUDE文件
以下是源码:
#include<stdio.h>;
#include"BIOS.h"
#include<fcntl.h>;
#include<sys\types.h>;
#include<sys\stat.h>;
void helpmsg(void);
int main(int argc, char *argv[])
{
int result;
char buffer[512];
FILE *fp;
if(argc==1)helpmsg();
if(*argv[1]=='d'||*argv[1]=='D')
{
result = biosdisk(2,0x80,0,0,1,1,buffer);
if(!result){
printf("读硬盘分区表成功\n" ;
if((fp=fopen("d:part.doc","wb+" )==NULL)
{
fprintf(stderr,"不能创建文件:b:\part.doc\n" ;
exit(1);
}
fwrite(buffer,1,512,fp);
fclose(fp);
printf("硬盘分区表保存成功\n" ;
return 0;
}
else{
fprintf(stderr,"读硬盘分区表失败" ;
exit(1);
}
}
if(*argv[1]=='c'||*argv[1]=='C')
{
if((fp = fopen("d:\part.doc","rb+" )==NULL)
{
fprintf(stderr,"文件打开失败" ;
exit(1);
}
fread(buffer,1,512,fp);
result = biosdisk(3,0x80,0,0,1,1,buffer);
if(!result){
printf("硬盘分区表恢复成功" ;
fclose(fp);
return 0;
}
else{
fprintf(stderr,"硬盘分区表恢复失败" ;
fclose(fp);
exit(1);
}
}
return 0;
}
void helpmsg(void)
{
puts("程序使用的正确格式为:SAVEPART[D]或SAVEPART[C]" ;
puts("其中参数:D----保存硬盘分区表到D盘");
puts("其中参数:C----从D盘恢复硬盘分区表");
exit(0);
} |
|