C 建立INI檔案,寫入並可讀取

2021-09-28 06:27:24 字數 2262 閱讀 9374

基於c#winform設計。

首先建立乙個類,我命名為inifiles。並引入命名空間using system.runtime.interopservices;

接著,宣告api函式:

[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);

寫入ini函式方法:

/// /// 寫入ini檔案 

///

/// 專案名稱(如 [typename] )

/// 鍵

/// 值

public void iniwritevalue(string section, string key, string value)

讀取ini檔案方法:

/// /// 讀出ini檔案 

///

/// 專案名稱(如 [typename] )

/// 鍵

public string inireadvalue(string section, string key)

驗證檔案是否存在:

/// /// 驗證檔案是否存在 

///

/// 布林值

public bool existinifile()

在其他窗體頁面如何呼叫?請看:

這時候是建立ini檔案(位置一般處於資源檔案下bin\debug目錄):

public partial class frm_login : form

生成了檔案之後就可以寫入和讀取資訊了:

ini.iniwritevalue("登入詳細", "賬號", "test");

ini.iniwritevalue("登入詳細", "密碼", "password");

讀取登入資訊(頁面載入的時候):

if (ini.existinifile())//驗證是否存在檔案,存在就讀取

label1.text = ini.inireadvalue("登入詳細", "使用者名稱");

完成!

inifiles類全部完整**:

using system;

using system.collections.generic;

using system.linq;

using system.text;

using system.io;

using system.runtime.interopservices;

public inifiles()

/// /// 寫入ini檔案

///

/// 專案名稱(如 [typename] )

/// 鍵

/// 值

public void iniwritevalue(string section, string key, string value)

/// /// 讀出ini檔案

///

/// 專案名稱(如 [typename] )

/// 鍵

public string inireadvalue(string section, string key)

/// /// 驗證檔案是否存在

///

/// 布林值

public bool existinifile()}}

頁面呼叫:

讀取寫入ini檔案

1.所用的winapi函式原型為 其中各引數的意義 lpctstr lpstring 是鍵值,也就是變數的值,不過必須為lpctstr型或cstring型的.lpctstr lpfilename 是完整的ini檔名.2.具體使用方法 設現有一名學生,需把他的姓名和年齡寫入 c stud studen...

c 建立ini 讀取ini檔案使用記錄

建立 path是檔案目錄 ini檔名 filestream fs new filestream path,filemode.createnew fs.close 自動建立的編碼格式為ansi,測試後無法讀取中文,所以改為手動建立,並修改編碼格式為utf 8 讀取和寫入方式,網上可以找到。注意1 第一...

QSetting控制ini檔案寫入和讀取

表示在baseset下的鍵 define vardir language baseset languagetype define vardir rev ip type baseset reviptype define vardir is file segment baseset isfilesegm...