VC++读取配置文件[ini]方法-函数

 //得先看配置文件ini定义了没,定义了要取出已经定义的值的
char   szFileDir[120],codeseta[2];
CString inifilename,inifiledir;
inifilename=”\\youthtribe_com.ini”;//这是自定义ini的文件名
GetCurrentDirectory(120,szFileDir);
inifiledir=szFileDir+inifilename;
CString fuck;
::GetPrivateProfileString(“CodeSet”,”m_ClassInCode1″,””,codeseta,10,inifiledir
);

过程是:到到ini文件的绝对路径。然后用API函数 GetPrivateProfileString,读取ini中的值

 

下边是写入到配置文件::

  //将变量保存到配置文件,这样以后软件启动的时候就不用再次修改了

char   szFileDir[120];
CString inifilename,inifiledir;
inifilename=”youthtribe_com.ini“;
GetCurrentDirectory(120,szFileDir);
inifiledir=szFileDir+inifilename;
//要写入内容
CString fieldName,strName,strValue;//字段,变量名,
fieldName=”StudentInfo”;
strName=”Name”;
strValue=”白江昆大王”
//开始写入
::WritePrivateProfileString(fieldName,strName,strValue,inifiledir);

==========================================

2014-03-20,自己改写的函数,GetIni,和SetIni

CString GetIni(CString strIniFileName,CString strSection,CString strKey,CString strFail,int nSize)
{
    char   chExeDir[120];//exe文件夹路径
    char   chReturnStr[120];
    if(strFail.Getlength()==0)
    {
        strFail = "获取"+strSection+"设置失败";
    }

    CString strIniFileDir;
    GetCurrentDirectory(120,chExeDir);

    CString strExeDir;
    strExeDir.Format("%s",chExeDir);

    strIniFileDir=strExeDir+"\\"+strIniFileName;

    ::GetPrivateProfileString(strSection,strKey,strFail,chReturnStr,nSize,strIniFileDir);

    CString strReturn;
    strReturn.Format("%s",chReturnStr);
    return strReturn;

}

SetIni,这个简单些

void SetIni(CString strIniFileName,CString strSection,CString strKey,CString strValue)
{
    char   chExeDir[120];//exe文件夹路径

    CString strIniFileDir;
    GetCurrentDirectory(120,chExeDir);

    CString strExeDir;
    strExeDir.Format("%s",chExeDir);

    strIniFileDir=strExeDir+"\\"+strIniFileName;

    ::WritePrivateProfileString(strSection,strKey,strValue,strIniFileDir);	

}

 

 

Leave a Reply