zoukankan      html  css  js  c++  java
  • 关于ini文件格式的一点主意事项

    为了在C#中读取ini文件,于是引入了GetPrivateProfileString函数

            [DllImport("kernel32")]
            public static extern long WritePrivateProfileString(string section,
                string key, string val, string filePath);
    
            /// <summary>
            /// INI文件的读操作函数
            /// </summary>
            /// <param name="section">INI文件中的段落名称</param>
            /// <param name="key">INI文件中的关键字</param>
            /// <param name="def">无法读取时候时候的缺省数值;</param>
            /// <param name="retVal">读取数值;</param>
            /// <param name="size">数值的大小;</param>
            /// <param name="filePath">INI文件的完整路径和名称。</param>
            /// <returns></returns>
            [DllImport("kernel32")]
            public static extern int GetPrivateProfileString(string section,
                string key, string def, StringBuilder retVal, uint size, string filePath);
    
    郁闷的是无论如何都读不出来ini文件里的内容。索性到网上搜索,关于函数使用方法的说明都没错呀,我也照着做了。可还是读不出东西来,

    难道是不能正常打开文件?

        于是用C#中的文件操作函数,试了,没问题能正常打开。

    难道是ini文件中的[section]或者key值不对?

        仔细检查后确认与没有问题

    那key=value中间的“=”两边要有空格?

       加上或者去掉或者任意一边又空格,还是不行。

    。。。。。

    又去google,还是没有进展,泄气呀!

    于是给自己定下个最终期限,再google一次,这次搜english的说明。

    找了又找,最终在一个blog的不显眼的地方,终于找的了最终答案:

    ini文件的第一行不能是有效内容(不能为section)。

    豁然开朗,突然想起一句警句。

    果然,皇天不负有心人!

    有志者事竟成,破釜沉舟百二秦关终属楚

    苦心人天不负,卧薪尝胆三千越甲可吞吴

  • 相关阅读:
    linux内核——进程切换宏switch_to
    android源码目录结构详解
    SRM 390(1-250pt)
    SRM 391(1-250pt)
    CodeForces 221(div 2)
    SRM 407(1-250pt, 1-500pt)
    SRM 392(1-250pt)
    SRM 393(1-250pt)
    CodeForces 220(div 2)
    SRM 406(1-250pt, 1-500pt)
  • 原文地址:https://www.cnblogs.com/leelike/p/1946061.html
Copyright © 2011-2022 走看看