zoukankan      html  css  js  c++  java
  • 推断dxf文件的版本号

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

         以下是用C语言,写的推断dxf文件的版本号的代码:

    /*--------------------------------------------------
    *读取DXF文件里,HEADER段中DXF文件版本的小程序。 
    *----------------------------------------------------*/
    
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include <conio.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按随意键退出...");
            getch();
            exit(0); 
        }
        else {
            printf("文件已经打开.
    正在读取.../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("
    文件已经关闭."); 
        printf("
    Press any key to halt...");
        getch();
    	return 0;
    
    }


    效果例如以下:

        

    注意:要把.dxf文件和代码放到同一个文件夹下。


    dxf參考手冊(中文版):http://download.csdn.net/detail/sanqima/7629929

  • 相关阅读:
    结对编程
    四则运算
    认清自我,创造未来!!!
    浅谈GIT
    典型用户及用例故事
    结对编程 四则运算
    四则运算
    《未来的程序员》
    java项目命名规范
    四则运算测试
  • 原文地址:https://www.cnblogs.com/brucemengbm/p/7215963.html
Copyright © 2011-2022 走看看