为了在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);
难道是不能正常打开文件?
于是用C#中的文件操作函数,试了,没问题能正常打开。
难道是ini文件中的[section]或者key值不对?
仔细检查后确认与没有问题
那key=value中间的“=”两边要有空格?
加上或者去掉或者任意一边又空格,还是不行。
。。。。。
又去google,还是没有进展,泄气呀!
于是给自己定下个最终期限,再google一次,这次搜english的说明。
找了又找,最终在一个blog的不显眼的地方,终于找的了最终答案:
ini文件的第一行不能是有效内容(不能为section)。
豁然开朗,突然想起一句警句。
果然,皇天不负有心人!
有志者事竟成,破釜沉舟百二秦关终属楚
苦心人天不负,卧薪尝胆三千越甲可吞吴