Windows API ——WritePrivateProfileString——配置文件
生活随笔
收集整理的這篇文章主要介紹了
Windows API ——WritePrivateProfileString——配置文件
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1 #pragma once
2
3 class OperationConfig
4 {
5 public:
6
7 OperationConfig(void);
8 ~OperationConfig(void);
9
10 //設置配置文件的值
11 BOOL SetIniFile(LPCSTR lpPath,LPCSTR lpField,LPCSTR lpKey,LPCSTR lpValue);
12
13 //獲取配置文件字符串型的值
14 void GetIniFileStr(LPCSTR lpPath,LPCSTR lpField,LPCSTR lpKey,LPSTR lpRetString,DWORD dwSize,LPCSTR lpDefaultValue="");
15
16 //獲取配置文件整型的值
17 UINT GetIniFileInt(LPCTSTR lpPath,LPCSTR lpField,LPCSTR lpKey,INT nDefault=0);
18
19
20 };
?
?
?
1 #include "StdAfx.h" 2 #include "OperationConfig.h" 3 4 OperationConfig::OperationConfig(void) 5 { 6 } 7 8 OperationConfig::~OperationConfig(void) 9 { 10 } 11 12 /************************************************************************ 13 功能描述 :SetIniFile ,寫入配置文件 14 輸入參數 :LPCWSTR lpPath, 配置文件名 15 LPCWSTR lpField,字段名 16 LPCWSTR lpKey,鍵名 17 LPCWSTR lpValue,值 18 輸出參數 :無 19 返回值 :BOOL ,是否寫入成功 20 ************************************************************************/ 21 BOOL OperationConfig::SetIniFile(LPCSTR lpPath,LPCSTR lpField,LPCSTR lpKey,LPCSTR lpValue) 22 { 23 24 BOOL isSuccess=FALSE; 25 isSuccess=::WritePrivateProfileString(lpField,lpKey,lpValue,lpPath); 26 27 if (isSuccess==TRUE) 28 { 29 30 } 31 else 32 { 33 AfxMessageBox("寫入配置文件失敗!"); 34 } 35 return isSuccess; 36 37 } 38 39 40 41 42 /************************************************************************ 43 功能描述 :GetIniFileStr ,讀取配置文件 44 輸入參數 :LPCWSTR lpPath, 配置文件名 45 LPCWSTR lpField,字段名 46 LPCWSTR lpKey,鍵名 47 DWORD dwSize,長度 48 輸出參數 :LPWSTR lpRetString,返回值 49 LPCWSTR lpDefaultValue,默認值 50 返回值 :無 51 ************************************************************************/ 52 void OperationConfig::GetIniFileStr(LPCSTR lpPath,LPCSTR lpField,LPCSTR lpKey,LPSTR lpRetString,DWORD dwSize,LPCSTR lpDefaultValue) 53 { 54 DWORD dwRet=::GetPrivateProfileString(lpField,lpKey,lpDefaultValue,lpRetString,dwSize,lpPath); 55 if (dwRet == 0) //返回0表示失敗 56 { 57 /*AfxMessageBox(L"讀取配置文件失敗!");*/ 58 } 59 } 60 61 62 63 /************************************************************************ 64 功能描述 :GetIniFileInt ,讀取配置文件 65 輸入參數 :LPCWSTR lpPath, 配置文件名 66 LPCWSTR lpField,字段名 67 LPCWSTR lpKey,鍵名 68 輸出參數 :INT nDefault,得到的整型值 69 返回值 :UINT,返回得到的整型值 70 ************************************************************************/ 71 UINT OperationConfig::GetIniFileInt(LPCSTR lpPath,LPCSTR lpField,LPCSTR lpKey,INT nDefault) 72 { 73 UINT nStudAge=GetPrivateProfileInt(lpField,lpKey,nDefault,lpPath); 74 //第三個參數為沒找到鍵時返回的值。鍵沒值則返回0 75 return nStudAge; 76 77 }?
API有兩種配置文件的函數。
第一種,無路徑的,默認讀寫的配置文件路徑C:\Windows\win.ini
WriteProfileString(_T("appName"), _T("KeyName"), _T("Value"));
第二種,帶路徑的,只比第一個多一個參數,其余都一樣
WritePrivateProfileString(_T("appName"), _T("KeyName"), _T("Value"),_T("D:\\test.ini"));
?
配置文件讀取。第四個和第五個參數應該保持一致,注意MAX_PATH,兩個必須取值一樣,否則可能出錯
??? CString str;
??? DWORD dwLen = GetPrivateProfileString(_T("appName"), _T("KeyName"), _T("DefaultValue"),str.GetBuffer(MAX_PATH),MAX_PATH,_T("D:\\test.ini"));
??? str.ReleaseBuffer();
轉載于:https://www.cnblogs.com/wind-net/archive/2012/09/27/2706063.html
總結
以上是生活随笔為你收集整理的Windows API ——WritePrivateProfileString——配置文件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [转]不知道能否解决先转下来再说不显示删
- 下一篇: ADODB.Stream 错误 '800