string strPath(CONFIG); strPath += "\\LOG.ini"; cout<<strPath<<endl; int res = WritePrivateProfileStringA("section", "key1", "123", strPath.c_str());//0表示失敗,非0表示成功 cout<<res<<endl; int num = GetPrivateProfileIntA("section", "key1", 100, strPath.c_str());//如果沒有section和key1的話才會返回默認值100 cout<<num<<endl; char str[10]; num = GetPrivateProfileStringA("section2", "key3", "no find", str, sizeof(str), strPath.c_str());//會忽略value前的空格 cout<<num<<endl; cout<<str<<endl; char str2[50]; num = GetPrivateProfileSectionA("section", str2, sizeof(str2), strPath.c_str()); cout<<num<<endl; for (char *p = str2; p < str2 + 50; p++) { cout<<*p; } cout<<endl;
配置文件格式:
結果:
1.GetPrivateProfileInt函數
GetPrivateProfileInt =>從ini文件取得數值
<參數>
lpApplicationName:
lpKeyName:
nDefault:
lpFileName:
<返回值>
取得數值
說明:
為初始化文件中指定的條目獲取一個整數值
返回值:
Long,找到的條目的值;如指定的條目未找到,就返回默認值。如找到的數字不是一個合法的整 數,函數會返回其中合法的一部分。如,對於“xyz=55zz”這個條目,函數返回55。這個函數也能理解采用標准C語言格式的十六進制數字:用0x作為 一個十六進制數字的前綴——所以0x55ab等價於vb的&H55AB
參數類型及說明:
lpApplicationName String,指定在其中查找條目的小節。注意這個字串是不區分大小寫的
lpKeyName String,欲獲取的設置項或條目。這個支持不區分大小寫
nDefault Long,指定條目未找到時返回的默認值
lpFileName String,初始化文件的名字。如果沒有指定完整的路徑名,windows就會在Windows目錄中搜索文件
2.GetPrivateProfileString 函數
GetPrivateProfileString =>從ini文件取得文字列
<參數>
lpAppName:
lpKeyName:
lpDefault:
lpReturnedString:
nSize:
inifilename:
<返回值>
取得字符串 (lpReturnedString)。同時返回一個整數,大小為取得字符串的長度。
說明:
為初始化文件中指定的條目取得字串
返回值:
Long,復制到lpReturnedString緩沖區的字節數量,其中不包括那些NULL 中止字符。如lpReturnedString緩沖區不夠大,不能容下全部信息,就返回nSize-1(若lpApplicationName或 lpKeyName為NULL,則返回nSize-2)
參數類型及說明:
lpApplicationName String,欲在其中查找條目的小節名稱。這個字串不區分大小寫。如設為vbNullString,就在lpReturnedString緩沖區內裝載這個ini文件所有小節的列表
lpKeyName String,欲獲取的項名或條目名。這個字串不區分大小寫。如設為vbNullString,就在lpReturnedString緩沖區內裝載指定小節所有項的列表
lpDefault String,指定的條目沒有找到時返回的默認值。可設為空("")
lpReturnedString String,指定一個字串緩沖區,長度至少為nSize
nSize Long,指定裝載到lpReturnedString緩沖區的最大字符數量
lpFileName String,初始化文件的名字。如沒有指定一個完整路徑名,windows就在Windows目錄中查找文件
3.GetPrivateProfileSection函數
GetPrivateProfileSection
功能:
GetPrivateProfileSection =>從指定的文件中取得全部的關鍵字的值
DWORD GetPrivateProfileSection(
LPCTSTR lpAppName,
LPTSTR lpReturnedString,
DWORD nSize,
LPCTSTR lpFileName);
說明:
獲取指定小節所有項名和值的一個列表
返回值:
Long,裝載到lpReturnedString緩沖區的字符數量。如緩沖區的容量不夠大,不能容下所有信息,就返回nSize-2
同時返回一個整數,大小為取得字符串的長度,包括NULL字符,不包括最后的NULL字符
參數類型及說明:
lpAppName String,欲獲取的小節。注意這個字串不區分大小寫
lpReturnedString String,項和值字串的列表。每個字串都由一個NULL字符分隔,最后一個字串后面用兩個NULL字符中止
nSize Long,lpReturnedString緩沖區的大小。在windows系統中最大值為32767
lpFileName String,初始化文件的名字。如沒有指定完整路徑名,windows就在Windows目錄中查找文件
4.WritePrivateProfileString函數
功能:
WritePrivateProfileString=>修改指定的文件中指定的關鍵字的值
<參數>
lpApplicationName:欲在其中查找條目的小節名稱。這個字串不區分大小寫。
lpKeyName:欲獲取的設置項或條目。這個支持不區分大小寫
lpString:要修改的值的字符串
lpFileName:初始化文件的名字。如果沒有指定完整的路徑名,windows就會在Windows目錄中搜索文件
返回值:
0表示失敗,非0表示成功