国产探花免费观看_亚洲丰满少妇自慰呻吟_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,可以為你實現你想作的事情。

然后一切又變得簡單了。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 常熟市| 隆尧县| 平阳县| 晋江市| 麟游县| 东平县| 旬阳县| 汤原县| 徐州市| 洞口县| 惠安县| 房山区| 巴中市| 沿河| 西乡县| 高淳县| 云安县| 白河县| 福海县| 无锡市| 山阴县| 定南县| 北宁市| 天长市| 阜宁县| 铜鼓县| 沧州市| 综艺| 白朗县| 泾川县| 红原县| 吴桥县| 耒阳市| 商都县| 尼玛县| 成安县| 敖汉旗| 文山县| 彭山县| 红原县| 进贤县|