21xrx.com
2024-06-03 06:11:17 Monday
登录
文章检索 我的文章 写文章
使用C++读取INI配置文件
2023-07-04 18:54:12 深夜i     --     --
C++ INI 配置文件 读取 解析

INI文件格式简单易懂,常用于配置文件的存储。批量修改INI文件内容时,手工操作繁琐易错,C++程序通过读取INI文件内容,对应修改配置项,能够大幅提高效率和准确性。

下面介绍一种使用C++读取INI配置文件的方法。

首先,创建一个名为“config.ini”的INI文件,在里面添加一些配置项和值,例如:


[database]

host=127.0.0.1

port=3306

username=root

password=admin

[server]

ip=192.168.1.100

port=8080

timeout=6000

接下来,创建一个C++程序,使用fstream头文件中的ifstream类打开这个INI文件,读取其中配置项对应的键和值,然后进行一些操作,例如输出到控制台或者修改值后写回文件。


#include <iostream>

#include <fstream>

#include <string>

#include <vector>

using namespace std;

void readINI(string filename)

{

  ifstream configfile(filename);

  if (!configfile.is_open())

  {

    cout << "Failed to open " + filename << endl;

    return;

  }

  vector<string> sections;

  string line;

  while (getline(configfile, line))

  {

    if (line.empty()) continue;

    if (line[0] == ';') continue; //注释

    if (line[0] == '[') sections.push_back(line.substr(1, line.length() - 2));

    else

    {

      size_t pos = line.find('=');

      if(pos != string::npos)

      {

        string key = line.substr(0, pos);

        string value = line.substr(pos + 1);

        cout << sections.back() << "." << key << " = " << value << endl;

      }

    }

  }

  configfile.close();

}

int main()

{

  readINI("config.ini");

  return 0;

}

运行程序后,可以看到控制台输出了每个配置项的键和值。当然,这里我们只是做了个简单的输出,实际应用中可能需要根据读取到的配置项对程序进行相应的调整。

需要注意的是,读取INI文件时,需要注意各种情况的判断,例如跳过注释、读取节名等,以免对程序产生意想不到的影响。

总之,使用C++读取INI配置文件可以方便快捷地实现批量修改配置项的操作,提高工作效率,减少错误。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复