首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

不同的步骤

2013-01-23 
不同的方法问题:ini文件读写字符串时,如果遇到多行字符串,写入到文件后,重新读回来时发现只有第一行。解决

不同的方法
问题:ini文件读写字符串时,如果遇到多行字符串,写入到文件后,重新读回来时发现只有第一行。
解决方法:在写入第二行时,换成其他标示符,然后写在同一行,读回来时再转成换行符。


//写入
    strTemp = m_sSerialNumText;
    CString sOld("\r\n");
    CString sNew("!newline!");
    strTemp.Replace(sOld, sNew);
    ::WritePrivateProfileString(_T("OtherSetting"),_T("SerialNumberText"),strTemp,strFileName);

//读取
    GetPrivateProfileString(_T("Setting"),_T("Text"),_T("test"),strTemp,MAX_LENGTH,strFileName);
    m_sSerialNumText = strTemp;
    CString sNew("\r\n");
    CString sOld("!newline!");
    m_sSerialNumText.Replace(sOld, sNew);

问:有无其他更简单的方法。
[解决办法]
ini就是简单的配置文件 WritePrivateProfileString和GetPrivateProfileString同样是简单的读取

ini  你要实现识别换行 不用这种替换的方式  那就只有自己实现一个特定格式的文件  自己怎么写就怎么读
[解决办法]
都一个意思
但以前的做法是
改key名加尾缀,比如原字段名叫key
保存的时候就按行存为key line 0,key line 1,key line 2
之前的考虑是相对在value里加转义字符(串),这种做法更安全,以防数据本来就包含转义字符(串))的case

热点排行