利用VC编写实现一个INI文件,该程序实现如下功能,例如:输入一条记录该记录包括一个人的姓名、姓别、出生年月、家庭住址四个信息;怎么实现数据记录的追加,同时对输入的信息进行判断,如:当张三这个人的信息存在时,新输入的信息对以往的信息进行覆盖,将该人信息替换

利用VC编写实现一个INI文件,该程序实现如下功能,例如:输入一条记录该记录包括一个人的姓名、姓别、出生年月、家庭住址四个信息;如何实现数据记录的追加,同时对输入的信息进行判断,如:当张三这个人的信息存在时,新输入的信息对以往的信息进行覆盖,将该人信息替换
利用VC编写实现一个INI文件,该程序实现如下功能,例如:输入一条记录该记录包括一个人的姓名、姓别、出生年月、家庭住址四个信息;如何实现数据记录的追加,同时对输入的信息进行判断,如:当张三这个人的信息存在时,新输入的信息对以往的信息进行覆盖,将该人信息替换成新的信息。

------解决方案--------------------
C/C++ code
//这是俺的一段程序用来实现已经使用过的文件,俺规定最多只显示6个历史文件,如果有重复的就不处理,如果有新的就将最老的去掉,将最新的放在最前面。

void
CAPdu::SetRecent( char *filename )
{
    char t[ 6 ][ RECENTSIZE ];
    //char tt[ RECENTSIZE ];
    int i;
    char whichone[ 20 ];

    memset( t, 0, sizeof( t ) );

    for( i = 0; i < 6; i++ )
    {
        sprintf( whichone, "apdu_recent%d", i );
        GetPrivateProfileString( "Snooper_Normal_Apdu", whichone, "", t[ i ], RECENTSIZE, g____INI_name );
    }
    for( i = 5; i > 0; i-- )
    {
        memcpy( t[ i ], t[ i - 1 ], RECENTSIZE );
    }
    memset( t[ 0 ], 0, RECENTSIZE );
    sprintf( t[ 0 ], "%s", filename );
    for( i = 0; i < 6; i++ )
    {
        sprintf( whichone, "apdu_recent%d", i );
        WritePrivateProfileString( "Snooper_Normal_Apdu", whichone, t[ i ], g____INI_name );
    }
}