C++读取配置文件

1、读取=号的配置文件(或者:)的配置。

#include <iostream>
#include <fstream>
#include <sstream>
#include <map>
#include <string>

std::map<std::string, std::string> read_config(const std::string &filename) {
    std::map<std::string, std::string> config;
    std::ifstream file(filename);
    std::string line;

    if (!file.is_open()) {
        throw std::runtime_error("Unable to open config file");
    }

    while (getline(file, line)) {
        std::istringstream is_line(line);
        std::string key;
        if (getline(is_line, key, '=')) {
            std::string value;
            if (getline(is_line, value)) {
                config[key] = value;
            }
        }
    }

    file.close();
    return config;
}

int main() {
    try {
        auto config = read_config("config.ini");
        for (const auto &pair : config) {
            std::cout << pair.first << " = " << pair.second << std::endl;
        }
    }
    catch (const std::exception &e) {
        std::cerr << "Error: " << e.what() << std::endl;
    }

    return 0;
}

 

posted @ 2024-05-17 10:55  王程根的技术博客  阅读(32)  评论(0编辑  收藏  举报