c语言读取dxf文件的版本信息

代码来源:Open Cascade DataExchange DXF - opencascade - 博客园 (cnblogs.com)

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

 * Header.C

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

 *      eryar@163.com   02-05-08 18:55

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





#include <stdio.h>

#include <stdlib.h>

#include <string.h>



#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按任意键退出...");

		getchar();

		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...");

	getchar();

}

只需要把你的dxf文件和cpp文件放在同一目录下即可运行

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值