您的位置:首页 > 编程语言

wxWidgets读配置文件代码

2014-03-21 13:40 344 查看
wxString path_cfg(_("./config/record.conf")); //录音配置文件路径
if(!wxFileExists(path_cfg))
{
wxMessageBox(_T("Can not find record.conf file"),_T("ERROR"));
return ;
}
wxTextFile wxfile(path_cfg);
wxfile.Open();
wxString sum_row_str = _(""); //存放配置文件中的每行
for (sum_row_str=wxfile.GetFirstLine(); !wxfile.Eof(); sum_row_str=wxfile.GetNextLine())
{
if(sum_row_str == _("[record]"))
{
while(!wxfile.Eof())
{
sum_row_str = wxfile.GetNextLine();
wxString left_row_str = _(""); //每行等号左边内容
wxString right_row_str = _(""); //每行等号右边内容
for(int i = 0; i < sum_row_str.size(); i++)
{
if('[' == sum_row_str.at(i))
{
return ;
}
if(sum_row_str.at(i) == '=')
{
left_row_str = sum_row_str.SubString(0,i-1);
right_row_str = sum_row_str.SubString(i+1,sum_row_str.size());
}
}
wxString var_str; //变量字符串
for(int j = 0; j < left_row_str.size(); j++)
{
if(' ' != left_row_str.at(j))
{
var_str = left_row_str.SubString(0,j); //把左边的变量切出来

}

}
wxString val_str; //变量对应的值
for(int k = 0; k < right_row_str.size(); k++)
{
if(' ' == right_row_str.at(k))
{
val_str = right_row_str.substr(k+1); //把右边的变量切出来
}
}
if(var_str != "")
{
conf_map.insert(std::make_pair(var_str,val_str));//存放配置文件内容

}
}
}

if(wxfile.Eof())
{
return ;
}
}
wxfile.Close();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息