为什么我加入\n后,写入的文本还是在一行,而且回车的地方都变成小黑块了?我的代码:(文件hdy.dat是unicode格式的) CStdioFile sf;
sf.Open (_T("d:\\hdy.dat"),CFile::modeReadWrite  | CFile::typeBinary);
CString str;
str=_T("1234567\n");
sf.WriteString (str);
str=_T("abcdef");
sf.WriteString (str);
sf.Close();用记事本打开后的结果是;
1234567(黑块)abcdef这是为什么,该怎样解决?

解决方案 »

  1.   

    对CStdioFile的WriteString  
    我也曾经很郁闷,
    后来我用C里常用的方法 
    FILE stream ;
    stream = fopen( "d:\\test\\log.txt", "a" );//a表示追加写,
    if (stream==false) { TRACE("open file false!"); return false;}

    int res=fprintf( stream, "%s%s\n", striong1, string2);
    fclose( stream );
      

  2.   

    我是在UNICODE环境下编译的,仁兄的代码,我该怎么该?
      

  3.   

    UNICODE文档前面两个字符应该是:0XFF,0XFE,这是UNICODE标志。
    而且换行应该写“\n\r”