现有一个config.ini档案,内容如下:
[USERINFO]
USER = test
PASSWD = test[IPINFO]
IP = 168.0.0.1
PORT = 8888使用VC的MFC的CFile类如何才能解析出USER,PASSWD,IP和PORT,在线等待,谢谢

解决方案 »

  1.   

    读取配置文件用函数
    WritePrivateprofileString();
    GetPrivateprofileString();
    具体的用法可以查MSDN
      

  2.   

    给你3个我觉得很使用的函数
    // 取得应用程序路径
    CString GetAppPath()
    {
    char exepath[MAX_PATH];
    CString strdir, tmpdir; memset(exepath, 0, MAX_PATH); GetModuleFileName(NULL, exepath, MAX_PATH);
    tmpdir = exepath;
    strdir = tmpdir.Left(tmpdir.ReverseFind('\\')); return strdir;
    }
    // 读取XS.ini下的[Info]下的一个名字叫"key"的相应的值
    CString GetKey()
    {
    CString strRet;
    char inivalue[100], filename[MAX_PATH]; memset(inivalue, 0, 100);
    memset(filename, 0, MAX_PATH); sprintf(filename, "%s\\INI\\XS.ini", GetAppPath());
    GetPrivateProfileString("Info", 
    "Key",
    "",
    inivalue,
    sizeof(inivalue),
    filename); strRet = inivalue; return strRet;
    }
    // 设置XS.ini下的[Info]下的一个名字叫"key"的相应的值
    void SetKey(int key)
    {
    CString strRet;
    char filename[MAX_PATH], cKey[10]; memset(cKey, 0, 10);
    memset(filename, 0, MAX_PATH); sprintf(filename, "%s\\INI\\XS.ini", GetAppPath());
    sprintf(cKey, "%d", key);
    WritePrivateProfileString("Info", "Key", cKey, filename);
    }
      

  3.   

    char szUserInfo[256] = { 0 };
    ::GetPrivateProfileString("USERINFO", "USER", NULL, szUserInfo, 256, "ini文件路径");char szPassWord[256] = { 0 };
    ::GetPrivateProfileString("USERINFO", "PASSWD", NULL, szPassWord,256,"ini文件路径");char szIPAddress[256] = { 0 };
    ::GetPrivateProfileString("IPINFO", "IP", NULL, szIPAddress, 256, "ini文件路径");UINT nPort = GetPrivateProfileInt("IPINFO", "PORT", 0, "ini文件路径"); 
      

  4.   

    使用Win32 API啊?那我要先查查MSDN先,谢谢了
      

  5.   

    你的问题可以这样GetPrivateProfileString("USERINFO", 
    "USER",
    "",
    inivalue,
    sizeof(inivalue),
    filename);GetPrivateProfileString("USERINFO", 
    "PASSWD",
    "",
    inivalue,
    sizeof(inivalue),
    filename);GetPrivateProfileString("IPINFO", 
    "IP",
    "",
    inivalue,
    sizeof(inivalue),
    filename);GetPrivateProfileString("IPINFO", 
    "PORT",
    "",
    inivalue,
    sizeof(inivalue),
    filename);
      

  6.   

    CSDN高手果然众多:)3Q everybody