c++关于读ini配置文件函数GetPrivateProfileInt使用

0.环境

windows10
vs2015专业版

1.程序demo

#include "windows.h"
#include "tchar.h"
#include <iostream>

bool g_1_1Mode;
bool g_1_2Mode;
bool g_2Mode;

using namespace std;

int main() 
{
	g_1_1Mode = GetPrivateProfileInt(_T("1Setting"),_T("1_1Mode"),1,_T("data\\profile.ini"));
	g_1_2Mode = GetPrivateProfileInt(_T("1Setting"), _T("1_2Mode"), 1, _T("data\\profile.ini"));
	g_2Mode = GetPrivateProfileInt(_T("2Setting"), _T("2Mode"), 1, _T("data\\profile.ini"));

	cout << "=============================ini file test begin=============================\n" << endl;
	if (g_1_1Mode) {
		cout <<"\t\t\t\t this is '1_1Mode'!" << endl;
	}
	if (g_1_2Mode) {
		cout << "\t\t\t\t this is '1_2Mode'!" << endl;
	}
	if (g_2Mode) {
		cout << "\t\t\t\t this is '2Mode'!" << endl;
	}
	cout << "\n=============================ini file test end===============================\n" << endl;

	system("PAUSE");
	return 0;

}

文件准备:

其中第一个配置1Setting中,有两个属性;第二个2Setting中,有一个属性;在ini文件中,”;“是用来注释。

运行输出结果:

2.GetPrivateProfileInt使用讲解

g_1_1Mode = GetPrivateProfileInt(_T("1Setting"),_T("1_1Mode"),1,_T("data\\profile.ini"));

 参数1:是ini文件[]中的内容,即配置文件中的一种配置;

 参数2:是ini文件对应配置1Setting下的1_1Mode属性,在ini文件中,赋值用等号;

 参数3:是如果没有该文件或者该属性,默认值设置;

 参数4:是包含1Setting设置下1_1Mode属性的,ini文件的路径,这里设置的相对路径,即当前函数所在文件路径下data目录下的profile.ini文件;

3.使用ini配置文件的优势

在实际工程中,一般会给一个可执行程序demo给别人,那么我们智能编译一次,如何配置已经在程序中写固定了,就很难修改了。这里,可以将刚刚iniDemo.cpp同目录下的data/profile.ini,整个的复制到exe可执行文件的目录下。这里来实验一下:

运行exe:

4.最终的文件结构

iniDemo
│  
│  iniDemo.sln
│  
├─iniDemo
│  │  iniDemo.cpp
│  │  iniDemo.vcxproj
│  │  iniDemo.vcxproj.filters
│  │  
│  └─data
│          profile.ini
│          
└─x64
    └─Release
        │  iniDemo.exe
        │  
        └─data
                profile.ini
                

iniDemo工程可以在iniDemo-github下载。

 

5.参考

1.C++ - _T含义 C++语言中“_T”是什么意思?

2.两种方法上传本地文件到github

3.windows下如何打印出文件夹目录结构,并写入txt

发布了24 篇原创文章 · 获赞 11 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/qq_35975447/article/details/100151413