真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網站制作重慶分公司

ini讀寫函數(shù)c語言 c# ini讀寫

ini文件操作:用c語言實現(xiàn)此類文件的裝載,讀文件,寫文件

這個ini文件可以用win 的api函數(shù)實現(xiàn)的,你也可以在網上搜索一下,有這樣建立的類文件可以下載

合江ssl適用于網站、小程序/APP、API接口等需要進行數(shù)據(jù)傳輸應用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:028-86922220(備注:SSL證書合作)期待與您的合作!

怎么讀寫INI文件

INI文件的結構

INI文件是一種按照特點方式排列的文本文件。每一個INI文件構成都非常類似,由若干段落(section)組成,在每個帶括號的標題下面,是若干個以單個單詞開頭的關鍵詞(keyword)和一個等號,等號右邊的就是關鍵字對應的值(value)。其一般形式如下:

[Section1]

KeyWord1 = Valuel

KeyWord2 = Value2

……

[Section2]

KeyWord3 = Value3

KeyWord4 = Value4

C#和Win32 API函數(shù)

C#并不像C++,擁有屬于自己的類庫。C#使用的類庫是.Net框架為所有.Net程序開發(fā)提供的一個共有的類庫——.Net FrameWork SDK。雖然.Net FrameWork SDK內容十分龐大,功能也非常強大,但還不能面面俱到,至少它并沒有提供直接操作INI文件所需要的相關的類。在本文中,C#操作INI文件使用的是Windows系統(tǒng)自帶Win32的API函數(shù)——WritePrivateProfileString()和GetPrivateProfileString()函數(shù)。這二個函數(shù)都位于“kernel32.dll”文件中。

我們知道在C#中使用的類庫都是托管代碼(Managed Code)文件,而Win32的API函數(shù)所處的文件,都是非托管代碼(Unmanaged Code)文件。這就導致了在C#中不可能直接使用這些非托管代碼文件中的函數(shù)。好在.Net框架為了保持對下的兼容,也為了充分利用以前的資源,提出了互操作,通過互操作可以實現(xiàn)對Win32的API函數(shù)的調用?;ゲ僮鞑粌H適用于Win32的API函數(shù),還可以用來訪問托管的COM對象。C#中對Win32的API函數(shù)的互操作是通過命名空間“System.Runtime.InteropServices”中的“DllImport”特征類來實現(xiàn)的。它的主要作用是指示此屬性化方法是作為非托管DLL的輸出實現(xiàn)的。下面代碼就是在C#利用命名空間“System.Runtime.InteropServices”中的“DllImport”特征類申明上面二個Win32的API函數(shù):

C#申明INI文件的寫操作函數(shù)WritePrivateProfileString():

[ DllImport ( "kernel32" ) ]

private static extern long WritePrivateProfileString ( string

section ,

string key , string val , string filePath ) ;

參數(shù)說明:section:INI文件中的段落;key:INI文件中的關鍵字;val:INI文件中關鍵字的數(shù)值;filePath:INI文件的完整的路徑和名稱。

C#申明INI文件的讀操作函數(shù)GetPrivateProfileString():

[ DllImport ( "kernel32" ) ]

private static extern int GetPrivateProfileString ( string section ,

string key , string def , StringBuilder retVal ,

int size , string filePath ) ;

參數(shù)說明:section:INI文件中的段落名稱;key:INI文件中的關鍵字;def:無法讀取時候時候的缺省數(shù)值;retVal:讀取數(shù)值;size:數(shù)值的大?。籪ilePath:INI文件的完整路徑和名稱。

下面是一個讀寫INI文件的類

public class INIClass

{

public string inipath;

[DllImport("kernel32")]

private static extern long WritePrivateProfileString(string section,string key,string val,string filePath);

[DllImport("kernel32")]

private static extern int GetPrivateProfileString(string section,string key,string def,StringBuilder retVal,int size,string filePath);

/// summary

/// 構造方法

/// /summary

/// param name="INIPath"文件路徑/param

public INIClass(string INIPath)

{

inipath = INIPath;

}

/// summary

/// 寫入INI文件

/// /summary

/// param name="Section"項目名稱(如 [TypeName] )/param

/// param name="Key"鍵/param

/// param name="Value"值/param

public void IniWriteValue(string Section,string Key,string Value)

{

WritePrivateProfileString(Section,Key,Value,this.inipath);

}

/// summary

/// 讀出INI文件

/// /summary

/// param name="Section"項目名稱(如 [TypeName] )/param

/// param name="Key"鍵/param

public string IniReadValue(string Section,string Key)

{

StringBuilder temp = new StringBuilder(500);

int i = GetPrivateProfileString(Section,Key,"",temp,500,this.inipath);

return temp.ToString();

}

/// summary

/// 驗證文件是否存在

/// /summary

/// returns布爾值/returns

public bool ExistINIFile()

{

return File.Exists(inipath);

}

}

如何在VC中實現(xiàn)配置文件(ini)的讀寫

配置文件在重要性不言而喻,在我們常用的軟件中經??梢钥吹剿纳碛?,它提供了程序初始化過程中一些常用的參數(shù),并且可以手動的修改這些參數(shù),因此使用起來非常的方便。常見的配置文件為*.ini文件。 [小節(jié)名]關鍵字=值關鍵字=值……MFC為用戶讀取ini文件提供了幾個函數(shù),其中常用的幾個函數(shù)分別如下: 讀取信息:GetPrivateProfileString和GetPrivateProfileInt 寫入信息:WritePrivateProfileString 運用這幾個函數(shù)就可以滿足常用的對字符串和整數(shù)的讀寫操作了。為了體現(xiàn)MFC的封裝性以及方便使用,我們可以定義一個接口,即一個純虛類。所有的方法都由這個接口繼承而來。我們將這個純虛類命名為CCfgFile,之后我們從這個純虛類中繼承一個類(CIniFile)用來實現(xiàn)對ini文件的讀取。以后若是需要一些更高級的方法可以再從CCfgFile繼承出其他的類來實現(xiàn)。 這樣我們就可以利用CIniFile類中定義的函數(shù)來操縱ini文件了。在程序中我們需要操作ini文件中一些常用的配置參數(shù)讀寫,我們可以定義一個參數(shù)類來實現(xiàn),如CParam 這里需要注意的是在程序中我們可能在很多地方都要實現(xiàn)配置參數(shù)的讀寫,我們不能在每個要使用的地方都通過new關鍵字來創(chuàng)建一個CParam對象。原因你懂的,呵呵!那么我們可以通過定義CParam的一個靜態(tài)成員來實現(xiàn),這個靜態(tài)成員通過一個靜態(tài)的成員函數(shù)來獲取。

c++讀寫ini

寫入.ini文件:BOOL WritePrivateProfileString(

LPCTSTR lpAppName, // INI文件中的一個字段名[節(jié)名]可以有很多個節(jié)名 LPCTSTR lpKeyName, // lpAppName 下的一個鍵名,也就是里面具體的變量名 LPCTSTR lpString, // 鍵值,也就是數(shù)據(jù) LPCTSTR lpFileName // INI文件的路徑

);讀取.ini文件:DWORD GetPrivateProfileString(

LPCTSTR lpAppName, // INI文件中的一個字段名[節(jié)名]可以有很多個節(jié)名 LPCTSTR lpKeyName, // lpAppName 下的一個鍵名,也就是里面具體的變量名 LPCTSTR lpDefault, // 如果lpReturnedString為空,則把個變量賦給lpReturnedString LPTSTR lpReturnedString, // 存放鍵值的指針變量,用于接收INI文件中鍵值(數(shù)據(jù))的接收緩沖區(qū) DWORD nSize, // lpReturnedString的緩沖區(qū)大小 LPCTSTR lpFileName // INI文件的路徑

);讀取整形值:(返回值為讀到的整)UINT GetPrivateProfileInt(

LPCTSTR lpAppName, // INI文件中的一個字段名[節(jié)名]可以有很多個節(jié)名

LPCTSTR lpKeyName, // lpAppName 下的一個鍵名,也就是里面具體的變量名

INT nDefault, // 如果沒有找到指定的數(shù)據(jù)返回,則把個變量值賦給返回值 LPCTSTR lpFileName // INI文件的路徑);

讀寫INI文件時相對路徑和絕對路徑都可以,根據(jù)實際情況選擇"..\\IniFileName.ini" // 這樣的為相對路徑"D:\\IniFileName.ini" // 這樣的為絕對路徑MAX_PATH:是微軟最大路徑占的字節(jié)所設的宏例子:寫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;//以前mark別人Blog上的code,希望對你有幫助。


當前文章:ini讀寫函數(shù)c語言 c# ini讀寫
標題路徑:http://weahome.cn/article/dosgjgh.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部