C++读写ini配置文件的实现方法

 更新时间:2025年08月06日 09:51:07   作者:花果山总钻风  
本文详细介绍了Visual C++中使用WritePrivateProfileString和GetPrivateProfile进行INI文件的读写操作,具有一定的参考价值,感兴趣的可以了解一下

配置文件中经常用到ini文件,在VC中其函数分别为:

写入.ini文件:

BOOL WritePrivateProfileString(
  LPCTSTR lpAppName,  // INI文件中的一个字段名[节名]可以有很多个节名
  LPCTSTR lpKeyName,  // lpAppName 下的一个键名,也就是里面具体的变量名
  LPCTSTR lpString,   // 键值,也就是数据
  LPCTSTR lpFileName  // INI文件的路径
)

读取.ini文件:

DWORD GetPrivateProfileString(
  LPCTSTR lpAppName,        // INI文件中的一个字段名[节名]可以有很多个节名
  LPCTSTR lpKeyName,        // lpAppName 下的一个键名,也就是里面具体的变量名
  LPCTSTR lpDefault,        // 如果lpReturnedString为空,则把个变量赋给lpReturnedString
  LPTSTR lpReturnedString,  // 存放键值的指针变量,用于接收INI文件中键值(数据)的接收缓冲区
  DWORD nSize,              // lpReturnedString的缓冲区大小
  LPCTSTR lpFileName        // INI文件的路径
)
UINT GetPrivateProfileInt(
  LPCTSTR lpAppName,  // INI文件中的一个字段名[节名]可以有很多个节名
  LPCTSTR lpKeyName,  // lpAppName 下的一个键名,也就是里面具体的变量名
  INT nDefault,       // 如果没有找到指定的数据返回,则把个变量值赋给返回值
  LPCTSTR lpFileName  // INI文件的路径
)

读写INI文件时相对路径和绝对路径都可以,根据实际情况选择

"..//IniFileName.ini"    // 这样的为相对路径

"D://IniFileName.ini"    // 这样的为绝对路径

MAX_PATH:是微软最大路径占的字节所设的宏

例子,写INI文件:

LPTSTR lpPath = new char[MAX_PATH];
 
strcpy(lpPath, "D://IniFileName.ini");

WritePrivateProfileString("LiMing", "Sex", "Man", lpPath);
WritePrivateProfileString("LiMing", "Age", "20", lpPath);
 
WritePrivateProfileString("Fangfang", "Sex", "Woman", lpPath);
WritePrivateProfileString("Fangfang", "Age", "21", lpPath);

delete [] lpPath;

INI文件如下:

[LiMing]
Sex=Man
Age=20
[Fangfang]
Sex=Woman
Age=21

读INI文件:

LPTSTR lpPath = new char[MAX_PATH];
LPTSTR LiMingSex = new char[6];
int LiMingAge;
LPTSTR FangfangSex = new char[6];
int FangfangAge;
 
strcpy(lpPath, "..//IniFileName.ini");
 
GetPrivateProfileString("LiMing", "Sex", "", LiMingSex, 6, lpPath);
LiMingAge = GetPrivateProfileInt("LiMing", "Age", 0, lpPath);
 
GetPrivateProfileString("Fangfang", "Sex", "", FangfangSex, 6, lpPath);
FangfangAge = GetPrivateProfileInt("Fangfang", "Age", 0, lpPath);

delete [] lpPath;

到此这篇关于C++读写ini配置文件的实现方法的文章就介绍到这了,更多相关C++读写ini配置内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • C语言数组按协议存储与按协议解析数据的实现

    C语言数组按协议存储与按协议解析数据的实现

    今天小编就为大家分享一篇关于C语言数组按协议存储与按协议解析数据的实现,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-12-12
  • C语言中find_package()的搜索路径的实现

    C语言中find_package()的搜索路径的实现

    本文主要介绍了C语言中find_package()的搜索路径的实现,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-12-12
  • C语言之malloc动态分配内存和free释放

    C语言之malloc动态分配内存和free释放

    这篇文章主要介绍了C语言之malloc动态分配内存和free释放,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-07-07
  • 深度探究C++中的函数重载的用法

    深度探究C++中的函数重载的用法

    这篇文章主要介绍了C++中的函数重载用法,包括重载时参数类型的差异以及匹配和转换等方面问题的讲解,需要的朋友可以参考下
    2016-01-01
  • C语言二维数组应用之井字棋游戏

    C语言二维数组应用之井字棋游戏

    这篇文章主要为大家详细介绍了C语言二维数组应用之井字棋游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-06-06
  • C语言入门之查找子串问题

    C语言入门之查找子串问题

    这篇文章主要介绍了C语言入门之查找子串问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-11-11
  • c语言动态数组示例

    c语言动态数组示例

    这是一个简单的动态分配数组大小的例子,需要的朋友可以参考下
    2014-04-04
  • C语言动态内存分配的详解

    C语言动态内存分配的详解

    这篇文章主要介绍了C语言动态内存分配的详解的相关资料,这里提供了实现方法整理和出现错误的解决办法,需要的朋友可以参考下
    2017-07-07
  • C语言实现五子棋人人对战

    C语言实现五子棋人人对战

    这篇文章主要为大家详细介绍了C语言实现五子棋人人对战,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-12-12
  • C++设计模式编程中的迭代器模式应用解析

    C++设计模式编程中的迭代器模式应用解析

    这篇文章主要介绍了C++设计模式编程中的迭代器模式应用解析,迭代器模式注重对集合中元素的遍历而不使其暴露,需要的朋友可以参考下
    2016-03-03

最新评论