• INI文件配置乱码——C#


    在声明时加上参数CharSet = CharSet.Unicode

    [DllImport("kernel32", CharSet = CharSet.Unicode)]

    CharSet: 指示如何向方法封送字符串参数,并控制名称重整。

    最后,附上读写ini文件,解决出现乱码的代码

    [DllImport("kernel32", CharSet = CharSet.Unicode)]
    private static extern long WritePrivateProfileString(string section, string key, string val, string filePath);
    [DllImport("kernel32", CharSet = CharSet.Unicode)]
    private static extern int GetPrivateProfileString(string section, string key, string def, StringBuilder retVal, int size, string filePath);
            
    /// <summary>
    ///读取ini文件数据
    /// </summary>
    /// <param name="Section"></param>
    /// <param name="Key">键名</param>
    /// <param name="def">默认值</param>
    /// <param name="filePath">文件路径</param>
    /// <returns>读出内容</returns>
    public static string ReadValueFromIniFile(string Section, string Key, string def, string filePath)
    {
        StringBuilder temp = new StringBuilder(4096);
        int i = GetPrivateProfileString(Section, Key, def, temp, 4096, filePath);
        return temp.ToString();
    }
     
    /// <summary>
    /// 写入数据到ini文件
    /// </summary>
    /// <param name="Section"></param>
    /// <param name="Key">键名</param>
    /// <param name="Value">键值</param>
    /// <param name="filePath">文件路径</param>
    public static void WriteValueFromIniFile(string Section, string Key, string Value, string filePath)
    {
        WritePrivateProfileString(Section, Key, Value, filePath);
    }
  • 相关阅读:
    [BZOJ2038]小Z的袜子
    [BZOJ5016]一个简单的询问
    [BZOJ1008][HNOI2008]越狱
    [FZU2254]英语考试
    利用Map 的merge方法统计数量
    List 原生态类型
    try-with-resource 关闭 io流
    利用构建器创建对象
    linux 安装 vault
    git 上传文件
  • 原文地址:https://www.cnblogs.com/eve612/p/14234181.html
Copyright © 2020-2023  润新知