欢迎来到天天文库
浏览记录
ID:51687448
大小:41.27 KB
页数:18页
时间:2020-03-15
《C语言实训-电子地图导航系统源代码.docx》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、/***************************************************************************************Filename:tagMap_tDo.cpp**Created:2012/6/24**Author:..吴昊王洋张伟王伟***************************************************************************************/#include#include2、b.h>#include#include/*函数声明部分*/voidma_interf();intReadFile();voidReadData(FILE*p);voidWriteResult(intb[],intj);voidSearch();/*宏定义*/#defineMCGETCHAR(data)(*((char*)(data)))#defineMCGETSHORT(data)((unsignedshort)((((unsignedshort)(*((char*)(data))))<<3、8)4、(((unsignedshort)(*((char*)(data)+1)))&0x00ff)))#defineMCGETLONG(data)((((unsignedlong)MCGETSHORT((data)))<<16)5、(((unsignedlong)MCGETSHORT((char*)(data)+2))&0x0000ffff))#defineMCGET3BN(data)((((unsignedlong)MCGETCHAR((data)))<<16)6、(((unsignedlong)MCGETSHORT((char*)7、(data)+1))&0x0000ffff))#defineLength655350intnsizecount=2;/*定义结构体类型及变量*/structRoadRecord{shortussize;longullinkId;shortusroadnamesize;intusdispclass;intusbrunch;intusroadnameflag;charroadname[20];};structtagMap_t{charsign_one[2];charlinkid[14];charflag[7];charbrunch[98、];chardispclass[13];charRoadname[30];charsign_two[2];}*s,*ss;intmark_1=0,mark_2=0;//标记程序是否运行读取文件和排序操作voidSortData(tagMap_ts[]);voidUpdate(tagMap_ts[]);structdataOut{longlinkId;intdispclass;intbrunch;introadnameflag;};structRoadRecordroad[Length];structdataOutdata[Leng9、th];/*存储道路信息的数组*//***************************************************************************************Functionname:ReadFile**FunctionDescription:读取二进制文件,并将其解析在文本文档里**Date:2012/6/20*************************************************************************************10、**/intReadFile(){intm;characlinkId[4];/*从二进制文件中读取道路编号*/characroadnamesize[2];/*从二进制文件中读取道路名称数据长度*/characNodeInfo[4];unsignedshortustotalsize;unsignedlongullinkId;unsignedshortusroadnamesize;charactotalsize[2];/*从二进制文件中读取道路信息的总体数据长度*/FILE*pfp=fopen("e:\电子地图管理系统.dat","11、rb+");FILE*pf2=fopen("e:\解析文件.txt","w+");if(pfp==NULL){printf("cannotopenthe电子地图管理系统.datfileorthereisnothefile!");return0
2、b.h>#include#include/*函数声明部分*/voidma_interf();intReadFile();voidReadData(FILE*p);voidWriteResult(intb[],intj);voidSearch();/*宏定义*/#defineMCGETCHAR(data)(*((char*)(data)))#defineMCGETSHORT(data)((unsignedshort)((((unsignedshort)(*((char*)(data))))<<
3、8)
4、(((unsignedshort)(*((char*)(data)+1)))&0x00ff)))#defineMCGETLONG(data)((((unsignedlong)MCGETSHORT((data)))<<16)
5、(((unsignedlong)MCGETSHORT((char*)(data)+2))&0x0000ffff))#defineMCGET3BN(data)((((unsignedlong)MCGETCHAR((data)))<<16)
6、(((unsignedlong)MCGETSHORT((char*)
7、(data)+1))&0x0000ffff))#defineLength655350intnsizecount=2;/*定义结构体类型及变量*/structRoadRecord{shortussize;longullinkId;shortusroadnamesize;intusdispclass;intusbrunch;intusroadnameflag;charroadname[20];};structtagMap_t{charsign_one[2];charlinkid[14];charflag[7];charbrunch[9
8、];chardispclass[13];charRoadname[30];charsign_two[2];}*s,*ss;intmark_1=0,mark_2=0;//标记程序是否运行读取文件和排序操作voidSortData(tagMap_ts[]);voidUpdate(tagMap_ts[]);structdataOut{longlinkId;intdispclass;intbrunch;introadnameflag;};structRoadRecordroad[Length];structdataOutdata[Leng
9、th];/*存储道路信息的数组*//***************************************************************************************Functionname:ReadFile**FunctionDescription:读取二进制文件,并将其解析在文本文档里**Date:2012/6/20*************************************************************************************
10、**/intReadFile(){intm;characlinkId[4];/*从二进制文件中读取道路编号*/characroadnamesize[2];/*从二进制文件中读取道路名称数据长度*/characNodeInfo[4];unsignedshortustotalsize;unsignedlongullinkId;unsignedshortusroadnamesize;charactotalsize[2];/*从二进制文件中读取道路信息的总体数据长度*/FILE*pfp=fopen("e:\电子地图管理系统.dat","
11、rb+");FILE*pf2=fopen("e:\解析文件.txt","w+");if(pfp==NULL){printf("cannotopenthe电子地图管理系统.datfileorthereisnothefile!");return0
此文档下载收益归作者所有