c++读取 config.ini配置文件按照写入顺序输出
时间: 2023-12-17 16:05:47 浏览: 226
要按照配置文件中的写入顺序输出配置信息,可以使用一个 std::vector 来保存配置信息的名称,然后遍历这个 vector,输出每个名称对应的配置值。下面是一个简单的示例代码:
```c++
#include <iostream>
#include <fstream>
#include <string>
#include <vector>
#include <unordered_map>
int main()
{
std::ifstream file("config.ini");
std::unordered_map<std::string, std::string> config;
std::vector<std::string> keys;
std::string line;
while (std::getline(file, line))
{
if (line.empty() || line[0] == '#')
{
continue;
}
size_t pos = line.find('=');
if (pos == std::string::npos)
{
continue;
}
std::string key = line.substr(0, pos);
std::string value = line.substr(pos + 1);
config[key] = value;
keys.push_back(key);
}
for (const auto& key : keys)
{
std::cout << key << " = " << config[key] << std::endl;
}
return 0;
}
```
在这个示例代码中,我们首先打开配置文件,然后按行读取配置信息。对于每一行,我们首先跳过注释行和空行。然后查找等号,将配置项的名称和值分别保存到一个 std::unordered_map 中,并且将名称保存到一个 std::vector 中。最后,我们遍历这个 std::vector,按照名称顺序输出每个配置项的名称和值。
注意,这个示例代码没有进行错误处理,例如配置文件不存在或者格式错误等情况。在实际使用中,需要根据具体情况进行相应的错误处理。
阅读全文