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