#include
#define conffile "file.conf"
#define BUFFSIZE 512
void chop_crlf(char* buff);
int main()
{
FILE* fp;
int i,idn=0,id[12],rflg;
char readbuf[BUFFSIZE],tempbuf[BUFFSIZE];
char ipadr[12][BUFFSIZE];
char cpoint[12][BUFFSIZE];
char seps[]=",",*token;
if((fp=fopen(conffile,"r"))==NULL){
fprintf(stderr,"format file not found\n");
return -1;
}
memset(readbuf,0,sizeof(char)*BUFFSIZE);
memset(tempbuf,0,sizeof(char)*BUFFSIZE);
memset(ipadr,0,sizeof(char)*BUFFSIZE*12);
memset(cpoint,0,sizeof(char)*BUFFSIZE*12);
while(fgets(readbuf,BUFFSIZE,fp)){
chop_crlf(readbuf);
sscanf(readbuf,"[%s]",tempbuf);
if(strlen(tempbuf)){
sscanf(tempbuf,"%d",&id[idn]);
rflg = 0;
memset(readbuf,0,sizeof(char)*BUFFSIZE);
memset(tempbuf,0,sizeof(char)*BUFFSIZE);
while(fgets(readbuf,BUFFSIZE,fp) && rflg<2){
chop_crlf(readbuf);
sscanf(readbuf,"connect cause = %s",tempbuf);
if(strlen(tempbuf)){
strcpy(ipadr[idn],tempbuf);
rflg ++;
}
memset(tempbuf,0,sizeof(char)*BUFFSIZE);
sscanf(readbuf,"connect point = %s",tempbuf);
if(strlen(tempbuf)){
strcpy(cpoint[idn],tempbuf);
rflg ++;
}
}
idn++;
}
memset(readbuf,0,sizeof(char)*BUFFSIZE);
memset(tempbuf,0,sizeof(char)*BUFFSIZE);
}
fclose(fp);
if(idn == 0){
printf("config not found\n");
return -1;
}
printf("\n読込み情報:\n\n");
for(i=0;i<idn;i++){
printf("**ID info[%d]:\n",id[i]);
printf("\t IP: %s",ipadr[i]);
printf("\tDIR: %s\n",cpoint[i]);
}
printf("\n");
return 0;
}
void chop_crlf(char* buff)
{
int i,bufleng = strlen(buff);
for(i=0;i<bufleng;i++){
if(buff[i] == '\r') buff[i] = 0;
if(buff[i] == '\n') buff[i] = 0;
}
}
|