国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

C#中讀寫INI文件的方法例子

2020-01-24 03:23:42
字體:
來源:轉載
供稿:網友

通常C#使用基于XML的配置文件,不過如果有需要的話,比如要兼顧較老的系統,可能還是要用到INI文件。
但C#本身并不具備讀寫INI文件的API,只有通過調用非托管代碼的方式,即系統自身的API才能達到所需的目的。

對應讀寫的方法分別為GetPrivateProfileString和WritePrivateProfileString。

GetPrivateProfileString中的各參數:
lpAppName ―― section的名稱
lpKeyName ―― key的名稱
lpDefault ―― 如果lpKeyName沒有被找到的話,則將這個值復制到lpReturnedString中
lpReturnedString ―― 用于返回結果的值
nSize ―― lpReturnedString的字符長度
lpFileName ―― INI文件名

WritePrivateProfileString中的各參數:
lpAppName ―― section的名稱
lpKeyName ―― key的名稱
lpString ―― 與lpKeyName對應的值
lpFileName ―― INI文件名

實際代碼如下所示:

復制代碼 代碼如下:

using System;
using System.Runtime.InteropServices;
using System.Text;

namespace INIDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            WritePrivateProfileString("Demo", "abc", "123", "c://demo.ini");

            StringBuilder temp = new StringBuilder();
            GetPrivateProfileString("Demo", "abc", "", temp, 255, "c://demo.ini");
            Console.WriteLine(temp);

            Console.ReadLine();
        }

        [DllImport("kernel32", CharSet = CharSet.Unicode, SetLastError = true)]
        private static extern bool WritePrivateProfileString(
            string lpAppName, string lpKeyName, string lpString, string lpFileName);

        [DllImport("kernel32", CharSet = CharSet.Unicode, SetLastError = true)]
        private static extern int GetPrivateProfileString(
            string lpAppName, string lpKeyName, string lpDefault, StringBuilder lpReturnedString,
            int nSize, string lpFileName);
    }
}


程序運行后INI文件中的內容為:

復制代碼 代碼如下:

[Demo]
abc=123

這是一種相對簡單的方法,若是不想使用非托管方法,你也可以通過另一種比較麻煩的途徑解決這個問題。

由于INI文件的格式是固定的,所以只要編寫相應的解析程序就可以完成同樣的讀寫功能,就是通常的字符串處理而已。

如果你不愿親自動手的話,不要緊,已經有現成的程序――Cinchoo framework,可以為你實現你想作的事情。

然后一切又變得簡單了。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 阳江市| 治多县| 绵竹市| 原平市| 漳浦县| 固原市| 察隅县| 太谷县| 玉田县| 新民市| 濉溪县| 唐河县| 安乡县| 静宁县| 和静县| 玉龙| 珲春市| 平原县| 龙江县| 桓仁| 苏州市| 鸡泽县| 田林县| 娄烦县| 固镇县| 青浦区| 中方县| 普宁市| 林州市| 惠州市| 乐山市| 临夏市| 思南县| 清远市| 枣强县| 贵溪市| 沂源县| 泸溪县| 花莲县| 敖汉旗| 新沂市|