【发布时间】:2012-10-11 09:33:36
【问题描述】:
我正在尝试读取一个 INI 文件并写入另一个 INI 文件,但更改了部分顺序。
Windows API 是否有用于这种 INI 文件处理的工具?是否有首选的开源解决方案?还是我应该尝试手动解析它?
【问题讨论】:
-
GetPrivateProfileSectionNames() 返回部分名称,GetPrivateProfileSection() 返回一个部分。更改顺序毫无意义。并且永远不要使用 api 来阅读它们,它们非常昂贵。读取 one 设置需要 50 毫秒。
-
@HansPassant 感谢您的评论。我将检查该文件一次,以便为另一个顺序至关重要的程序创建一个 ini 文件。因此,使用 GetPrivateProfileSectionNames() 我将获得一个名称数组,并且能够更改顺序,然后查看部分名称并将数据写入新文件...
-
很难想象你需要不止一次这样做。为什么不直接使用文本编辑器?
-
@HansPassant :) 每个运行我的程序的客户端都会在初始化时执行一次,并且顺序基于用户的环境。这就是我不能使用文本编辑器的原因。
-
@zenpoy:如果部分的顺序很重要,那么它不是真正的 INI 文件。由于顺序很重要,您可以使用 Win32 API PrivateProfile 函数从源文件中读取,但不要使用它们写入目标文件。自己写入文件,然后您可以随意订购。