首页 > 解决方案 > C++ 中设置数据文件的简单/稳健方法

问题描述

我有一个关于在settings.dat我正在开发的 c++ 软件中读取文件的简单做法的问题。

我真的是 C++ 编程的业余爱好者……我是一名音乐家,对编写脚本以自动处理某些文档很感兴趣。请忍受我的大杂烩。

这就是我现在所拥有的。在我的主 c++ 程序中,我声明全局变量,读取 settings.dat 以获取我的运行设置,然后对许多数据文件执行各种操作。

/************************************/
/************************************/
/** now program.cpp *****************/
/************************************/
/************************************/

int show-warnings;
int indent-spaces;

// global variables

void readSettings()
{
    ifstream inputFile ("settings.dat");
    inputFile >> show-warnings;
    inputFile >> indent-spaces;
    inputFile.close();
}


int main(int argc, char *argv[])
{
    readSettings();
    // do various things
    return 0;
}






/************************************/
/************************************/
/** now: settings.dat ***************/
/************************************/
/************************************/
3 
1
2

这些设置没有标记。每次更改设置时,我都很难记住这些东西的顺序。

这就是我想要的:

/************************************/
/************************************/
/** i'd like settings.dat ***********/
/************************************/
/************************************/
indent-spaces: 3
show-warnings: yes
purpose: update

我试图通过(1)添加每个参数是什么,后跟一个冒号,以及(2)更改为 not-just-integers 参数来使我的 settings.dat 文件更有意义

如果我有 20 个参数,并且并非每次都在数据文件中指定所有参数,我想假设默认值。

有人可以指出我在我的 c++ 软件中管理这些参数的变量的简单/稳健的方法吗?老实说,我什至不知道要在 Google 中搜索哪些术语。

对了,我用的是Windows 7,MING++,直接编译。

万分感谢!-乔安娜

标签: c++data-files

解决方案


您的 settings.dat 看起来像 INI 文件。有很多读取 INI 文件的方法和库。您可以在此处阅读有关它们的信息。


推荐阅读