CMyDoc *pDoc = (CMyDoc*)GetDocument();

for(int i = 0; i<10 ; i++)
hFile.Write(&(pDoc->cItemInfo[i].Name), sizeof(pDoc->cItemInfo[i].Name));其中cItemInfo是我定义的一个类数组。
请各位高手指教!!!

解决方案 »

  1.   

    txt的头部有 编码信息的, 你要先写入编码信息. 可以用 记事本存储不同格式的文本, 看看其头部写的是什么, 例如, 按照unicode 编码存储 要先存入 FFFE.
      

  2.   

    这位前辈能否再说明白一点?编码信息写到哪里?同一段代码写到word里边也是乱码!
      

  3.   

    txt文件没头部信息..
    .Name 确定是char *类型么? 还是宽字符?
    然后CFile 创建设置的是什么?
    一般就是个modeCreate或者modeReadWrite就可以了,其他的不要加.
    然后直接就write;或者你换换CStdioFile看看..
      

  4.   


    复制代码的时候
    发现了两个问题:
    hFile.Write(&(pDoc->cItemInfo[i].Name), sizeof(pDoc->cItemInfo[i].Name));第一参数不该有 & !!!  晕..  不过程序没崩溃那真是意外.
    第二个参数应该是strlen... sizeof就成了缓冲大小20了..我们现在想要的是里面字符串大小.
      

  5.   

    for(int  i  =  0;  i  <10  ;  i++)  
                           {                                                  
                                       hFile.Write(&(pDoc->cItemInfo[i]),  sizeof(pDoc->cItemInfo[i]));  
     
                             }  
    不好意思程序有所改动,那段代码是我测试时用的,这段才是正式的.请在帮忙看一下
      

  6.   

    我用的 strlen 之后 很正常...
    也是输出一个类里的char []到文件中  基本上用的你的代码..