使用ReadSections如何读取INI文件中所有以ADD.EXE开头的配置段
筛选前缀为ADD.EXE的INI配置段实现方案
你当前使用的ReadSections()方法仅支持传入完整段名查询,无法直接匹配前缀,因此需要先获取全量配置段再手动筛选,实现逻辑和代码如下:
实现步骤
- 调用
ReadSections()传入空字符串,获取INI文件内所有配置段的名称列表 - 遍历段名列表,筛选出前缀为
ADD.EXE的条目 - 收集匹配的段名后,即可按需读取对应段的配置内容
参考代码
unique_ptr<TDataIniFile> UserIni(new TDataIniFile(File)); // 传入空参数拉取全部配置段 vector<String> allSections = UserIni->ReadSections(""); vector<String> targetSections; const String prefix = "ADD.EXE"; for (const auto& secName : allSections) { // Pos返回1表示字符串起始位置匹配前缀,不同字符串库可调整对应匹配逻辑 if (secName.Length() >= prefix.Length() && secName.Pos(prefix) == 1) { targetSections.push_back(secName); } } // targetSections中存储的就是所有符合要求的配置段名
可选优化方案
如果你使用的
TDataIniFile类库支持通配符匹配,可直接调用UserIni->ReadSections("ADD.EXE*")直接获取匹配结果,不需要手动遍历过滤,执行效率更高,可先确认对应类库的API说明。
内容的提问来源于stack exchange,提问作者Adi Sur
相关产品推荐
相关产品推荐

