- 论坛徽章:
- 0
|
比较具有收藏价值,用到的时候拿出来直接用了。
配置文件的格式如下:
[COMMON]
#common file
port = 100
login = /usr/bin/login
函数:
int GetProfileString(char * profile, char * AppName, char * KeyName, char * KeyVal )
{
char appname[20],keyname[20];
char buf[KEYVALLEN],*c;
FILE *fp;
int found=0; /* 1 AppName 2 KeyName */
if( (fp=fopen( profile,"r" ))==NULL ){
printf( "openfile [%s] error [%s]\n",
profile,strerror(errno) );
return(-1);
}
fseek( fp, 0, SEEK_SET );
sprintf( appname,"[%s]", AppName );
memset( keyname, 0, sizeof(keyname) );
while( !feof(fp) && fgets( buf, KEYVALLEN, fp )!=NULL ){
if( l_trim( buf )==0 )
continue;
if( found==0 ){
if( buf[0]!='[' ) {
continue;
} else if ( strncmp(buf,appname,strlen(appname))==0 ){
found=1;
continue;
}
} else if( found==1 ){
if( buf[0]=='#' ){
continue;
} else if ( buf[0]=='[' ) {
break;
} else {
if( (c=(char*)strchr(buf,'='))==NULL )
continue;
memset( keyname, 0, sizeof(keyname) );
sscanf( buf, "%[^=]", keyname );
if( strcmp(keyname, KeyName)==0 ){
sscanf( ++c, "%[^\n]", KeyVal );
found=2;
break;
} else {
continue;
}
}
}
}
fclose( fp );
if( found==2 )
return(0);
else
return(-1);
}
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/1574/showart_2033919.html |
|