读写.ini配置文件

博客介绍了在VC中对INI配置文件的读写操作。详细给出了写入、读取字符串和读取整形值的函数及参数说明,还提到读写时可根据情况选择相对或绝对路径,并给出了最大路径宏MAX_PATH。最后通过具体例子展示了INI文件的读写操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

[cpp]  view plain copy
  1. BOOL WritePrivateProfileString(  
  2.   LPCTSTR lpAppName,  // INI文件中的一个字段名[节名]可以有很多个节名  
  3.   LPCTSTR lpKeyName,  // lpAppName 下的一个键名,也就是里面具体的变量名  
  4.   LPCTSTR lpString,   // 键值,也就是数据  
  5.   LPCTSTR lpFileName  // INI文件的路径  
  6. );  


 

读取.ini文件:

[cpp]  view plain copy
  1. DWORD GetPrivateProfileString(  
  2.   LPCTSTR lpAppName,        // INI文件中的一个字段名[节名]可以有很多个节名  
  3.   LPCTSTR lpKeyName,        // lpAppName 下的一个键名,也就是里面具体的变量名  
  4.   LPCTSTR lpDefault,        // 如果lpReturnedString为空,则把个变量赋给lpReturnedString  
  5.   LPTSTR lpReturnedString,  // 存放键值的指针变量,用于接收INI文件中键值(数据)的接收缓冲区  
  6.   DWORD nSize,            // lpReturnedString的缓冲区大小  
  7.   LPCTSTR lpFileName        // INI文件的路径  
  8. );  


 

读取整形值:(返回值为读到的整)

[cpp]  view plain copy
  1. UINT GetPrivateProfileInt(  
  2.   LPCTSTR lpAppName,  // INI文件中的一个字段名[节名]可以有很多个节名  
  3.   LPCTSTR lpKeyName,  // lpAppName 下的一个键名,也就是里面具体的变量名  
  4.   INT nDefault,       // 如果没有找到指定的数据返回,则把个变量值赋给返回值  
  5.   LPCTSTR lpFileName  // INI文件的路径  
  6.   
  7. );  



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

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

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

 

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


例子:

写INI文件:

 

[cpp]  view plain copy
  1. LPTSTR lpPath = new char[MAX_PATH];  
  2.    
  3. strcpy(lpPath, "D:\\IniFileName.ini");  
  4.   
  5. WritePrivateProfileString("LiMing""Sex""Man", lpPath);  
  6. WritePrivateProfileString("LiMing""Age""20", lpPath);  
  7.    
  8. WritePrivateProfileString("Fangfang""Sex""Woman", lpPath);  
  9. WritePrivateProfileString("Fangfang""Age""21", lpPath);  
  10.   
  11. delete [] lpPath;  

INI文件如下:  
  
[LiMing]  
Sex=Man  
Age=20  
[Fangfang]  
Sex=Woman  
Age=21  

  1. 读INI文件: 
  2.   
  3. LPTSTR lpPath = new char[MAX_PATH];  
  4. LPTSTR LiMingSex = new char[6];  
  5. int LiMingAge;  
  6. LPTSTR FangfangSex = new char[6];  
  7. int FangfangAge;  
  8.    
  9.   
  10. strcpy(lpPath, "..\\IniFileName.ini");  
  11.    
  12. GetPrivateProfileString("LiMing""Sex""", LiMingSex, 6, lpPath);  
  13. LiMingAge = GetPrivateProfileInt("LiMing""Age", 0, lpPath);  
  14.    
  15. GetPrivateProfileString("Fangfang""Sex""", FangfangSex, 6, lpPath);  
  16. FangfangAge = GetPrivateProfileInt("Fangfang""Age", 0, lpPath);  
  17.   
  18. delete [] lpPath;  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值