⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 getadd.h

📁 moto e2 基站定位0.1版软件
💻 H
字号:
/*	*****************************E2基站定位   0.1版*************************************************************Written by Letterb @scnu_cs_052008/1/18Email:	boy.letterb@yahoo.com.cn		or letterb@tom.com感谢netsnakecq(Bin Li <glen.redlion@gmail.com>)的开源使用lasly的sdk和ilove3d的更新include********************************letterb******************************************/#include <stdlib.h>#include <stdio.h>#include <string.h>#include <math.h>#define MAX_INT 32766bool getlocaladd(const char * filename,char * localid,char *add)	//用基站id搜索基站地址{    bool flag=false;    char  address[400];    char buf[500];    int mmc,mnc,lac , cid , prc;    FILE * fp = fopen(filename,"r");    while(fgets(buf,sizeof buf , fp))    {        if(strstr(buf,localid))        {            sscanf(buf,"%d;%d;%d;%d;%d;%s",&mmc,&mnc,&lac , &cid , &prc,address);            int len=strlen(buf);            int i=len-1;            while(buf[i]!=';' && i >0 ){i--;}            strcpy(add,buf+i+1);            printf("found!!\n");            flag=true;            break;        }    }    if(flag)     printf("%d;%d;%d;%d;%d;%s",mmc,mnc,lac , cid , prc,add);    fclose(fp);    return flag;}bool findnearadd(const char * filename,char * localid,char *add)	//查找出最近的基站{    bool flag=false;    char  address[400];    char nearaddinfo[500];    char buf[500];    memset(nearaddinfo,0,sizeof nearaddinfo);    int mmc,mnc,lac , cid , prc;    int pre_mmc,pre_mnc,pre_lac , pre_cid ;    int min_lac(MAX_INT),min_cid(MAX_INT);    sscanf(localid,"%d;%d;%d;%d",&pre_mmc,&pre_mnc,&pre_lac , &pre_cid);    FILE * fp = fopen(filename,"r");    while(fgets(buf,sizeof buf , fp))    {        sscanf(buf,"%d;%d;%d;%d;%d;%s",&mmc,&mnc,&lac , &cid , &prc,address);        if(mmc==pre_mmc && mnc == pre_mnc)        {            if(min_lac > abs(lac-pre_lac))            {                min_cid = abs(cid-pre_cid);                min_lac = abs(lac-pre_lac);                strcpy(nearaddinfo,buf);            }            else                if(min_lac == abs(lac-pre_lac))                {                     if(min_cid > abs(cid-pre_cid))                     {                         min_cid = abs(cid-pre_cid);                         strcpy(nearaddinfo,buf);                     }                     else                         if(min_cid == abs(cid-pre_cid))                         {                            if(!strlen(nearaddinfo))                                strcpy(nearaddinfo,buf);                            else                            {                               strcat(nearaddinfo,"\n");                               strcat(nearaddinfo,buf);                            }                         }                }        } /*       if(strstr(buf,localid))        {            int len=strlen(buf);            int i=len-1;            while(buf[i]!=';' && i >0 ){i--;}            strcpy(add,buf+i-1);            printf("found!!\n");            flag=true;            break;        }*/    }    printf("%d;%d;%d;%d;%d;%s\n",mmc,mnc,lac , cid , prc,nearaddinfo);    strcpy(add,nearaddinfo);    fclose(fp);    return flag;}bool append_to_file(char *filename,char *appstr)	//追加基站信息{    FILE *file;    file=fopen(filename,"a");//    fputs("\n",file);    fputs(appstr,file);    fclose(file);    return false;}int isexist(char *filename,const char *keystr,char * resbuf)	//检测文件行是否存在keystr{    FILE *file;    if(file=fopen(filename,"r"))    {        char buf[500];        while(fgets(buf , sizeof buf,file))        {//            buf[strlen(buf)-1]='\0';            if(strstr(buf,keystr))            {			            				strcpy(resbuf,buf);                fclose(file);                return 1;            }        }        fclose(file);        return 0;    }    else    {        fclose(file);        return -1;    }    return -1;}bool cancel_line(char *filename,char *line)	//取消含有line的行{	if(strlen(line)<1)		return false;    FILE *fp=fopen(filename, "r");    if(fp==NULL)    {            printf(">> ERROR reading java registry!\n");            return false;    }    fseek(fp, 0, SEEK_END);    unsigned int flen=ftell(fp);    rewind(fp);    char buf[flen+strlen(line)];    unsigned int i=0;    for(i=0; i<flen; i++) buf[i]=fgetc(fp);    fclose(fp);    buf[flen]=0;    char mystr[strlen(buf)];    strcpy(mystr,buf);    char temp1[strlen(buf)];    char temp2[strlen(buf)];    memset(temp2, 0, sizeof(temp2));    memset(temp1, 0, sizeof(temp1));    char* p=strstr(mystr,line);    	if(p==NULL)    			return false;    char * ori_p=mystr;    i=0;    while(ori_p<p)    {        temp1[i++]=*ori_p;        ori_p++;    }    temp1[i]='\0';    FILE *fp2=fopen(filename, "w");    if(fp2==NULL)    {        printf(">> ERROR writing java registry!\n");        return false;    }//    for(i=0; i<strlen(buf); i++) fputc(buf[i], fp2);    fputs(temp1,fp2);    fclose(fp2);/**/    p+=strlen(line);  	if(p==(flen+mystr))   		return false; 	    i=0;            strcpy(temp2,p);            fp2=fopen(filename, "a");    if(fp2==NULL)    {        printf(">> ERROR writing java registry!\n");        return false;    }    fputs(temp2, fp2);    fclose(fp2);/**/    return true;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -