先谢谢您的关注!
我有个这样的需求:
从配置文件读入配置项到std::map<std::string,std::string>,然后将配置显示在qtopia的应用程序的界面上,进行修改后再保存到配置文件中。
这个配置文件应该使用什么编码?
我现在的配置文件使用的UTF-8编码,读取的代码如下:
void jc_config::read_communication_config()
{
communication_config_map.clear();
ifstream file(COMMUNICATION_CONFIG_FILE);
string line;
while(getline(file,line))
{
int index = trim(line," \r\t").find_first_of('=');
communication_config_map.insert(CONFIGMAP::value_type(string(line,0,index),string(line,index+1,line.length()-index-1)));
}
}
void jc_config::show_communication_config()
{
if(communication_config_map.find("ServerIp") != communication_config_map.end())serverip->setText(communication_config_map["ServerIp"].c_str());
if(communication_config_map.find("ServerPort") != communication_config_map.end())serverport->setText(communication_config_map["ServerPort"].c_str());
if(communication_config_map.find("DistrictName") != communication_config_map.end())district->setText(communication_config_map["DistrictName"].c_str());
if(communication_config_map.find("OfficeName") != communication_config_map.end())office->setText(communication_config_map["OfficeName"].c_str());
}
在qvfb和开发板上显示出来时汉字都是乱码。