读取INI文件使用的是GetPrivateProfileString方法,自己读写ini文件没有问题。

调用C++的API对同一个ini文件进行处理后,发现首个Section的值读不出来;发现是API更改了ini文件格式。

原本C#进行读写的ini文件是UTF-8不带BOM的格式,C++ API写值后将ini文件格式改为UTF-8带BOM。

API那边没有办法更改,GetPrivateProfileString我也不知道该怎么设定成带BOM的格式;

只能自己转换文件格式,转换方法如下:

            //以UTF-8带BOM格式读取文件内容
Encoding end = new UTF8Encoding(true);
string str = string.Empty;
using (StreamReader sr = new StreamReader(ini.Path, end))
{
str = sr.ReadToEnd();
}
//以UTF-8不带BOM格式重新写入文件
end = new UTF8Encoding(false);
using (StreamWriter sw = new StreamWriter(ini.Path, false, end))
{
sw.Write(str);
}

成功!

最新文章

  1. Android/Linux下CGroup框架分析及其使用
  2. webstorm 更改默认服务器端口
  3. kafka的log存储解析——topic的分区partition分段segment以及索引等
  4. PowerDesigner生成Oracle数据库时,表名会带引号问题
  5. aptitude解决Ubuntu各种依赖问题
  6. Grandpa's Estate---POJ1228(凸包)
  7. Android--入门
  8. Octopus系列之如何让前台的js脚本变得灵活重用
  9. warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
  10. hdu4432 Sum of divisors(数论)
  11. IO流(File类
  12. MySQL 遇到的问题:在服务里找不到自己的 MySQL,以及在命令行窗口中运行服务出现的问题。
  13. 指针和引用区别 C++
  14. webAppRootKey
  15. 【知识整理】这可能是最好的RxJava 2.x 入门教程(四)
  16. Python高级特性:列表生成式
  17. Sublime Text 3 注册码激活码被移除的解决办法
  18. python prettytable模块
  19. 图片 base64转byte[]
  20. CentOS与RedHat的关系

热门文章

  1. (信贷风控九)行为评分卡模型python实现
  2. Windows7 64位配置ODBC数据源(Sybase)的方法
  3. CentOS上安装GlassFish4.0
  4. PHP 输出日志到文件 DEMO
  5. Linux_CentOS软件安装调试 源代码包编译安装和 二进制包配置
  6. Python适配器模式代码
  7. centos6环境远程执行shell脚本报错not a valid identifier的问题处理
  8. ISO/IEC 9899:2011 条款6.8.3——表达式与空语句
  9. pytorch 不使用转置卷积来实现上采样
  10. 亲爱的mssql码农们,看看利用sp_addlinkedserver实现远程数据库链接