首先,INI文件是一种非常常见的配置文件格式,它用于存储应用程序的配置信息。在C++中,使用WinAPI中的GetPrivateProfileString和WritePrivateProfileString函数可以方便地读取和写入INI文件。
下面是使用C++实现读写INI配置文件的示例代码和详细攻略:
读取INI配置文件
第一步:包含相关头文件
#include <Windows.h>
第二步:定义读取INI配置文件的函数
std::string ReadIniString(const char* section, const char* key, const char* filePath)
{
char buffer[256];
GetPrivateProfileStringA(section, key, "", buffer, 256, filePath);
return std::string(buffer);
}
此函数有三个参数,分别为“节点名称”、“键名称”和“配置文件路径”,返回一个string类型的值。函数内部使用GetPrivateProfileStringA函数进行读取INI文件的操作,此函数原型为:
BOOL WINAPI GetPrivateProfileStringA(
_In_opt_ LPCSTR lpAppName,
_In_opt_ LPCSTR lpKeyName,
_In_opt_ LPCSTR lpDefault,
_Out_ LPSTR lpReturnedString,
_In_ DWORD nSize,
_In_opt_ LPCSTR lpFileName
);
其中,参数含义如下:
- lpAppName:INI文件中的节点名称,对应函数中的section参数;
- lpKeyName:INI文件中的键名称,对应函数中的key参数;
- lpDefault:INI文件中没有找到对应的键值时,返回默认值,默认值为空字符串“”;
- lpReturnedString:存储读取到的键值的缓冲区;
- nSize:缓冲区的大小;
- lpFileName:INI文件的路径,对应函数中的filePath参数。
第三步:使用函数读取INI配置文件
假设有如下的INI文件:
[Common]
Version=1.0
Title=Sample INI File
[User]
Name=John Smith
Email=john@example.com
使用ReadIniString函数读取INI文件中的键值:
const char* filePath = "Sample.ini";
std::cout << ReadIniString("Common", "Version", filePath) << std::endl; // 输出1.0
std::cout << ReadIniString("User", "Name", filePath) << std::endl; // 输出John Smith
std::cout << ReadIniString("User", "Email", filePath) << std::endl; // 输出john@example.com
std::cout << ReadIniString("User", "Age", filePath) << std::endl; // 输出空字符串
写入INI配置文件
第一步:定义写入INI配置文件的函数
void WriteIniString(const char* section, const char* key, const char* value, const char* filePath)
{
WritePrivateProfileStringA(section, key, value, filePath);
}
此函数有四个参数,分别为“节点名称”、“键名称”、“键值”和“配置文件路径”,无返回值。函数内部使用WritePrivateProfileStringA函数进行写入INI文件的操作,此函数原型为:
BOOL WINAPI WritePrivateProfileStringA(
_In_opt_ LPCSTR lpAppName,
_In_opt_ LPCSTR lpKeyName,
_In_opt_ LPCSTR lpString,
_In_opt_ LPCSTR lpFileName
);
其中,参数含义如下:
- lpAppName:INI文件中的节点名称,对应函数中的section参数;
- lpKeyName:INI文件中的键名称,对应函数中的key参数;
- lpString:要写入的键值,对应函数中的value参数;
- lpFileName:INI文件的路径,对应函数中的filePath参数。
第二步:使用函数写入INI配置文件
假设目前INI文件如下:
[Common]
Version=1.0
Title=Sample INI File
[User]
Name=John Smith
Email=john@example.com
使用WriteIniString函数往INI文件中添加一条数据:
const char* filePath = "Sample.ini";
WriteIniString("User", "Age", "28", filePath);
此时,INI文件变为:
[Common]
Version=1.0
Title=Sample INI File
[User]
Name=John Smith
Email=john@example.com
Age=28
再使用WriteIniString函数修改INI文件中的键值:
const char* filePath = "Sample.ini";
WriteIniString("User", "Email", "smith@example.com", filePath);
此时,INI文件变为:
[Common]
Version=1.0
Title=Sample INI File
[User]
Name=John Smith
Email=smith@example.com
Age=28
以上就是使用C++实现读写INI配置文件的完整攻略和示例代码,使用此方法可以方便地读取和修改INI文件。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C++实现读写ini配置文件的示例代码 - Python技术站