最好把代码贴出来看看,要不怎么知道?
你里面有用Encoding.ASCII转换过吗?

解决方案 »

  1.   

    StreamReader  strmReader = new StreamReader( fs, Encoding.Default);
    sting  m_buf = strmReader.ReadToEnd();
    if(m_buf.Lenght>0 && m_buf[i]=='[')
      

  2.   

    FileStream fs = new FileStream("c:\\config.txt", FileMode.Open);
    m_iLength = fs.Length;
    StreamReader  strmReader = new StreamReader( fs, Encoding.Default);
    m_buf = strmReader.ReadToEnd(); //buf = 4k
    fs.Close();
    Lable_begin:
    for(; i<m_iLength; i++)
    {
    if(m_buf[i]=='[')

    for(j=i; j<m_iLength; j++)
    {
    if(m_buf[j]==']' || (m_buf[j]==0x0D && m_buf[j]==0x0A))
    break;
    }
    break;
    }我认为还是中英问的问题,
    文件如下:
    查询配置]
    查询项目数 = 3[查询项_0]
    名称 = 变压器1
    类型 = AI
    点数 = 3
    0 = 108
    1 = 105
    2 = 110如果把文字给成E文,就不报错了,难道[]索引器也有限制??
      

  3.   

    没有看到你的m_buf[]的具体定义,总是感觉你的定义好像小了,以至于存储时溢出了。
      

  4.   

    因为FileStream.Length是获取用字节表示的流长度,而一个中文文字相当于两个字节!
    例如:“中国”两个文字用字节来表示的话,长度是4,而用String.length来表示的话,长度是2。
    所以会出现fxingwei0000(风云再起)你所说的情况。