c 之操作ini檔案

2021-07-15 07:24:27 字數 3532 閱讀 5861

public

class win32api

, stringsplitoptions.removeemptyentries);

} //釋放記憶體

marshal.freecotaskmem(preturnedstring);

return sections;

} ///

/// 獲取ini檔案中指定節點(section)中的所有條目(key=value形式)

///

///ini檔案

///節點名稱

///指定節點中的所有專案,沒有內容返回string[0]

public

static

string inigetallitems(string inifile, string section)

, stringsplitoptions.removeemptyentries);

} marshal.freecotaskmem(preturnedstring); //釋放記憶體

return items;

} ///

/// 獲取ini檔案中指定節點(section)中的所有條目的key列表

///

///ini檔案

///節點名稱

///如果沒有內容,反回string[0]

public

static

string inigetallitemkeys(string inifile, string section)

char chars = new

char[size];

uint bytesreturned = win32api.getprivateprofilestring(section, null, null, chars, size, inifile);

if (bytesreturned != 0)

, stringsplitoptions.removeemptyentries);

} chars = null;

return

value;

} ///

/// 讀取ini檔案中指定key的字串型值

///

///ini檔案

///節點名稱

///鍵名稱

///如果沒此key所使用的預設值

///讀取到的值

public

static

string

inigetstringvalue(string inifile, string section, string key, string defaultvalue)

if (string.isnullorempty(key))

stringbuilder sb = new stringbuilder(size);

uint bytesreturned = win32api.getprivateprofilestring(section, key, defaultvalue, sb, size, inifile);

if (bytesreturned != 0)

sb = null;

return

value;

} ///

/// 在ini檔案中,將指定的鍵值對寫到指定的節點,如果已經存在則替換

///

///ini檔案

///節點,如果不存在此節點,則建立此節點

///鍵值對,多個用\0分隔,形如key1=value1\0key2=value2

///public

static

bool

iniwriteitems(string inifile, string section, string items)

if (string.isnullorempty(items))

return win32api.writeprivateprofilesection(section, items, inifile);

} ///

/// 在ini檔案中,指定節點寫入指定的鍵及值。如果已經存在,則替換。如果沒有則建立。

///

///ini檔案

///節點

///鍵

///值

///操作是否成功

public

static

bool

iniwritevalue(string inifile, string section, string key, string

value)

if (string.isnullorempty(key))

if (value == null)

return win32api.writeprivateprofilestring(section, key, value, inifile);

} ///

/// 在ini檔案中,刪除指定節點中的指定的鍵。

///

///ini檔案

///節點

///鍵

///操作是否成功

public

static

bool

inideletekey(string inifile, string section, string key)

if (string.isnullorempty(key))

return win32api.writeprivateprofilestring(section, key, null, inifile);

} ///

/// 在ini檔案中,刪除指定的節點。

///

///ini檔案

///節點

///操作是否成功

public

static

bool

inideletesection(string inifile, string section)

return win32api.writeprivateprofilestring(section, null, null, inifile);

} ///

/// 在ini檔案中,刪除指定節點中的所有內容。

///

///ini檔案

///節點

///操作是否成功

public

static

bool

iniemptysection(string inifile, string section)

return win32api.writeprivateprofilesection(section, string.empty, inifile);

} #endregion

#endregion

}

private void test()  

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...