我从ini文件里读出字符串然后再messageBox里显示,
字符串里带\n,因该是换行,可是却原样显示了出来,为什么?

解决方案 »

  1.   

    ini 也是节点类型 不需要读取换行
    就想xml一样
      

  2.   

    回楼上
    [DllImport("kernel32")]
    private static extern int GetPrivateProfileString(string section,string key,string def,StringBuilder retVal,int size,string filePath);//读取INI文件指定
    public string IniReadValue(string Section,string Key)
    {
    StringBuilder temp = new StringBuilder(255);
    int i = GetPrivateProfileString(Section,Key,"",temp,255,this.Path);
    return temp.ToString();
    }
      

  3.   

    在MessageBox里换行符是\r\n,先用string.Replace("\n", "\r\n")替换一下就可以
      

  4.   

    MessageBox.Show("你好吗 \n 不好");结果:你好吗?
           不好换行正常
      

  5.   

    读出来的字符是这样的
    ini文件中
    key = hello \n world读到出来是 hello \\n world
      

  6.   

    string s="hello \\n world";
    s=s.Replace("\\n","\r\n");
    MessageBox.Show(s);
      

  7.   

    从ini文件里读出字符串应该不是转义的,你将它赋给一个string变量再传给msgbox试一试。
    要用\r\n。