- 论坛徽章:
- 0
|
函数的功能是在配置文件配置某项配置的值
可是我写文件老是失败,而且只有最后一个参数值才能写进文件中,其他的参数值均无法写进文件
/****************************************************************/
/* */
/* 函数名?SetINIFile */
/* 功能: 在配置文件配置某项配置值 */
/* 参数: */
/* 文件名,配置项,该项值 */
/* 返回值:无返回值 */
/****************************************************************/
void SetINIFile(
char *INIFile,
char *FIELDNAME,
char *value )
{
FILE *fp;
int i;
char *ucpp;
char uTmp[128];
char Tmpstr1[128];
char Tmpstr2[128];
char Tmpstr3[128];
int ii,jj;
memset(uTmp,0,12 ;
fp = fopen( INIFile,"r+" );
if( fp == NULL )
return;
while( fgets( uTmp,128,fp ) != '\0' )
{
jj=0;
memset(Tmpstr1,0,12 ;
memset(Tmpstr2,0,12 ;
memset(Tmpstr3,0,12 ;
for( ii = 0;ii < strlen(uTmp);ii++ )
{
if(uTmp[ii]!='\n'&&uTmp[ii]!='\t'&&uTmp[ii]!=' ')
Tmpstr1[jj++]=uTmp[ii];
}
Tmpstr1[jj] = '\0';
if( Tmpstr1[0] == '#' ){
memset(uTmp,0,12 ;
continue;
}
ucpp = (char*)memchr( Tmpstr1,'=',strlen(Tmpstr1) );
if( ucpp == NULL ){
memset(uTmp,0,12 ;
continue;
}
memcpy( Tmpstr2,Tmpstr1,ucpp-Tmpstr1 );
Tmpstr2[ucpp-Tmpstr1] = '\0';
if( strcmp( Tmpstr2,FIELDNAME ) == 0 )
{
memcpy( ucpp+1,
value,
strlen(value));
ucpp[strlen(Tmpstr1)] = '\0';
fputs( Tmpstr1 ,fp);
break;
}
}
fclose( fp );
return;
} |
|