由於微軟非常鼓勵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...