C 下操作ini檔案的封裝

2021-04-12 17:27:32 字數 3410 閱讀 2506

由於微軟非常鼓勵programmers使用登錄檔來代替ini檔案,在.net framework裡只有操作登錄檔的封裝,卻沒有對操作ini檔案進行封裝。下面的**填補了這一項空白, 

using system;

using system.io;

using system.runtime.interopservices;

using system.text;

using system.collections;

using system.collections.specialized;

namespace jerry.huang

else

//必須是完全路徑,不能是相對路徑

filename = fileinfo.fullname; }

#region 各種資料型別的讀寫

///

/// 將string型值寫入ini。

///

/// 小節名

/// 關鍵字

/// 要寫入的值

public void writestring(string section,string ident,string value)

} ///

/// 從ini檔案中讀取string型值。

/// 當讀取失敗時返回預設值。

///

/// 小節名

/// 關鍵字

/// 預設值

/// string型值

public string readstring(string section,string ident, string default)

///

/// 從ini檔案中讀取int型值。

/// 當讀取失敗時返回預設值。

///

/// 小節名

/// 關鍵字

/// 預設值

/// int型值

public int readinteger(string section, string ident , int default)

catch (exception)

}///

/// 將int型值寫入ini

///

/// 小節名

/// 關鍵字

/// 要寫入的值

public void writeinteger(string section,string ident, int value)

///

/// 從ini檔案中讀取bool型值。

/// 當讀取失敗時返回預設值。

///

/// 小節名

/// 關鍵字

/// 預設值

/// bool型值

public bool readbool(string section, string ident, bool default)

catch (exception)

}///

/// 將bool型值寫入ini

///

/// 小節名

/// 關鍵字

/// 要寫入的值

public void writebool(string section, string ident , bool value)

///

/// 將datetime型值寫入ini

///

/// 小節名

/// 關鍵字

/// 要寫入的值

public void writedatetime(string section, string ident, datetime value)

///

/// 從ini檔案中讀取datetime型值。

/// 當讀取失敗時返回預設值。

///

/// 小節名

/// 關鍵字

/// 預設值

/// datetime型值

public datetime readdatetime(string section, string ident, datetime default)

catch (exception)

}public void writedouble(string section, string ident, double value)

public double readfloat(string section, string ident, double default)

catch (exception)

}#endregion

//從ini檔案中,將指定的section名稱中的所有ident新增到列表中

public stringcollection readsection(string section)

private void getstringsfrombuffer(byte buffer, int buflen, stringcollection strings)

} }

} //從ini檔案中,讀取所有的sections的名稱

public stringcollection readsections()

//讀取指定的section的所有value到列表中

public namevaluecollection readsectionvalues(string section)

return values; }

//清除某個section

public void erasesection(string section)

} //刪除某個section下的鍵

public void deletekey(string section, string ident)

//note:對於win9x,來說需要實現updatefile方法將緩衝中的資料寫入檔案

//在win nt, 2000和xp上,都是直接寫檔案,沒有緩衝,所以,無須實現updatefile

//執行完對ini檔案的修改之後,應該呼叫本方法更新緩衝區。

public void updatefile()

///

/// 檢查某個section是否存在。

///

/// 小節名

/// 存在返回true,否則為false。

public bool sectionexists(string section)

///

/// 檢查某個section的某個鍵值是否存在。

///

/// 小節名

/// 關鍵字

/// 存在返回true,否則為false。

public bool valueexists(string section, string ident)

//確保資源的釋放

~inifile() } }

C 操作ini檔案

有時候在用c 開發時會需要在本地儲存一些簡單的資料或者配置資訊類的,此時會想起使用ini檔案去完成。下面是我自己寫的簡單的類 引用 using system.runtime.interopservices class cini function 寫入ini檔案 param 節點名稱 鍵 值 檔案路徑...

C 操作INI檔案

ini檔案格式如下 注釋 section key value 例如 我的ini檔案 log logpath c log 操作ini檔案的可以通過呼叫api函式來實現 具體 如下 using system using system.collections.generic using system.te...

c 操作ini檔案

原文 c 操作ini檔案 號右邊的就是關鍵字對應的值 value 其一般形式如下 section1 keyword1 value1 keyword2 value2 keyword3 value3 section2 keyword1 value1 keyword2 value2 class progr...