C++讀寫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;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章