用的是GetPrivateProfileString 这个方法里面键位的值比较多, 就读不出来如何解决。ini

解决方案 »

  1.   

    请描述清楚你的问题,GetPrivateProfileString 是哪里的方法? ini文件存储的是什么内容? 
      

  2.   

    ini文件,网上搜一下,有很多专有类库,很小,操作ini很方便
      

  3.   

    其实有很多自己写的函数类可以用下
    记得之前cnblogs上找过几个ini操作类
      

  4.   


    下面是一个C#读写ini文件的类:public class INIClass  
    {  
     public string inipath;  
     [DllImport("kernel32")]  
     private static extern long WritePrivateProfileString(
    string section,string key,string val,string filePath);  
     [DllImport("kernel32")]  
     private static extern int GetPrivateProfileString(
    string section,string key,
    string def,StringBuilder retVal,
    int size,string filePath);  
     /// ﹤summary﹥  
     /// 构造方法  
     /// ﹤/summary﹥  
     /// ﹤param name="INIPath"﹥文件路径﹤/param﹥  
     public INIClass(string INIPath)  
     {  
      inipath = INIPath;  
     }  
     /// ﹤summary﹥  
     /// 写入INI文件  
     /// ﹤/summary﹥  
     /// ﹤param name="Section"﹥项目名称(如 [TypeName] )﹤/param﹥  
     /// ﹤param name="Key"﹥键﹤/param﹥  
     /// ﹤param name="Value"﹥值﹤/param﹥  
     public void IniWriteValue(string Section,string Key,string Value)  
     {  
      WritePrivateProfileString(Section,Key,Value,this.inipath);  
     }  
     /// ﹤summary﹥  
     /// 读出INI文件  
     /// ﹤/summary﹥  
     /// ﹤param name="Section"﹥项目名称(如 [TypeName] )﹤/param﹥  
     /// ﹤param name="Key"﹥键﹤/param﹥  
     public string IniReadValue(string Section,string Key)  
     {  
      StringBuilder temp = new StringBuilder(500);  
      int i = GetPrivateProfileString(Section,Key,"",temp,500,this.inipath);  
      return temp.ToString();  
     }  
     /// ﹤summary﹥  
     /// 验证文件是否存在  
     /// ﹤/summary﹥  
     /// ﹤returns﹥布尔值﹤/returns﹥  
     public bool ExistINIFile()  
     {  
      return File.Exists(inipath);  
     }  
      

  5.   

    检查下你的ini是否合法,比如你是如何处理转义字符、字符编码等等的。比如你不能写
    strvalue1=[123]
    strvalue2=if a==b
    strvalue3="hello"+world
      

  6.   

    是这样的, GetPrivateProfileString 读取ini文件。 
      

  7.   

    是这样的, GetPrivateProfileString 读取ini文件。  a=2222
    b=3333
    c=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxa和b都可以区出。 c则不可以。 
      

  8.   

    代码里改颜色改不了啊,是这句 int i = GetPrivateProfileString(Section,Key,"",temp,500,this.inipath);