读取配置文件的方法getcfg()

来源:互联网 发布:python spark z 编辑:程序博客网 时间:2024/05/15 02:51

 
/*******************************************************
 *      getcfg()
Explain:
                获取配置文件信息
Param:
                serv_ip         保存读取出的IP
                port            保存读取出的端口
                filedir         保存读取文件的目录的路径
                filename        保存读取文件的名字                     
Return:
                 1   open success
                -1   open file error
**************************************************************************/
int getcfg(char *serv_ip,unsigned int *port,char *filedir,char *filename)
{
        FILE *pfile;
        char filepath[256],buf[256];
        int i=0;
        int len=0;
        unsigned int tm_port=0;
 
        memset(filepath,0,sizeof(filepath));
 
        errno = 0;
 
        sprintf(filepath,"%s/%s",filedir,filename);
 
        pfile = fopen(filepath,"r");
        if(pfile==NULL)
        {
                printf("getcfg no file/n");
                printf("open error:%d,%s/n",errno,strerror(errno));
                return -1;
        }
 
        for(i=0;i<=100;i++)
        {
                memset(buf,0,sizeof(buf));
                fgets(buf,256,pfile);
                if(feof(pfile) && strlen(buf)<=0)
                {
                        break;
                }
                len=strlen(buf);
                if(len>256)
                        break;
                if(buf[len]==0x0d || buf[len]==0x0a)    /*0x0d对应'/r',0x0a对应'/n'*/
                        buf[len]=0;
                if(buf[len-1]==0x0d || buf[len-1]==0x0a)
                        buf[len-1]=0;
                if(i==1)
                        strncpy(serv_ip,buf,strlen(buf));
                if(i==3)
                        tm_port=(unsigned int )atoi(buf);
        }
        fclose(pfile);
 
        *port=tm_port;
 
        #ifdef DEBUG
                printf( "getcfg():IP_%s,port_%u/n",serv_ip,*port);
        #endif
        return 1;
}

原创粉丝点击