GetPrivateProfile系列函數


    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表示成功

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM