我用的代码如下: 
memset(U,0,sizeof(U));
 CFile fpX;
 fpX.Open("E: \\dataX.txt",CFile::modeCreate|CFile::modeWrite);
 fpX.Write(U,sizeof(U));
 fpX.Close();memset(V,0,sizeof(V));
 CFile fpY;
 fpY.Open("E: \\dataY.txt",CFile::modeCreate|CFile::modeWrite);
 fpY.Write(V,sizeof(V));
 fpY.Close();其中U和V是我要输出的数组,程序跑完后发现dataX.txt文件大小为365k了,但打开却看不到数据呢。这是为什么啊?

解决方案 »

  1.   

    “看不到”是什么概念哪 是乱码哪 还是空白就没有任何东西那。如果是乱码,那是因为你向文本中写的是二进制,这种你要把mode设置文本模式就可以了。如果你看到是空白,可能是你写的都是空格,数据并没有被你写到u和v中。memset(V,0,sizeof(V));
      

  2.   

    用ue打开发现里面全是零,我原先的定义是LONG U[1000] LONG V[1000],如何才能输出整型数据呢?
      

  3.   

    你是希望txt文件里能看到你的数据?你可以先格式化为字符串TCHAR[];然后写入txt文本文件中
      

  4.   

    是啊,我希望在txt里看到各个整型数据,相邻数之间用空格或其他分开。
      

  5.   

    我们用记事本打开的文件是用ASCII码储存的,在AscII码里0就是表示什么也没有的意思,所以你看不到。你可以用一些转换函数将实际数据转换成ASCII码。如
    int i=0;
    CString cs;
    cs.Format("%d",i);
    char a=(LPSTR)(LPCTSTR)cs;
    //a为ASCII码
      

  6.   

    如果你看到是空白,可能是你写的都是空格,数据并没有被你写到u和v中。memset(V,0,sizeof(V));这不是早就说了嘛
      

  7.   

    你最好把代码贴全面一些 ,这样大家也好找bug,不要剪贴着贴,那样看不到全貌。就目前代码的情况,你没有写数据到u v中。