c语言编写dxf文件吗,判断dxf文件的版本

打开DXF参考手册,在DXF参考手册中,点击“索引”-->输入“HEADER”,在ACADVER字段有acd的版本信息:

bcefe1a5062f7ed98f33f4bf73f9969f.png

下面是用C语言,写的判断dxf文件的版本的代码:

/*--------------------------------------------------

*读取DXF文件中,HEADER段中DXF文件版本号的小程序。

*----------------------------------------------------*/

#include

#include

#include

#include

#define STRLEN 30

int main(int argc, char *argv[])

{

int code; /*存储组码*/

char codevalue[STRLEN]; /*存储组码对应的值*/

FILE *dxf; /*文件指针*/

char filename[STRLEN]; /*文件名*/

char suffix[6] = ".dxf"; /*只输入文件名打开DXF文件,不用输后缀.*/

printf("请输入文件名:");

gets(filename);

strcat(filename,suffix);

dxf = fopen(filename,"r"); /*打开文件进行读操作*/

if(!dxf) {

printf("打开文件出错!/n按任意键退出...");

getch();

exit(0);

}

else {

printf("文件已经打开.\n正在读取.../n");

}

while(!feof(dxf)) {

fscanf(dxf,"%d",&code);

fscanf(dxf,"%s",codevalue);

if(code == 2 && strcmp(codevalue,"HEADER")==0) {

fscanf(dxf,"%d",&code);

fscanf(dxf,"%s",codevalue);

if(strcmp(codevalue,"$ACADVER")==0) {

fscanf(dxf,"%d",&code);

fscanf(dxf,"%s",codevalue);

if(strcmp(codevalue,"AC1006")==0) {

printf("AutoCAD版本为R10.");

}

else

if(strcmp(codevalue,"AC1009")==0) {

printf("AutoCAD版本为R11和R12.");

}

else

if(strcmp(codevalue,"AC1012")==0) {

printf("AutoCAD版本为R13.");

}

else

if(strcmp(codevalue,"AC1014")==0) {

printf("AutoCAD版本为R14.");

}

else

if(strcmp(codevalue,"AC1015")==0) {

printf("AutoCAD版本为AutoCAD 2000.");

}

else

if(strcmp(codevalue,"AC1018")==0) {

printf("AutoCAD版本为AutoCAD 2004.");

}

else {

printf("不能识别的AutoCAD版本!");

break;

}

}

}

}

fclose(dxf); /*关闭文件*/

printf("\n文件已经关闭.");

printf("\nPress any key to halt...");

getch();

return 0;

}

效果如下:

fb979193ef7617fa80801de8f2073b19.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值