在MFC工程中CFile result("d:\\resulet.txt",CFile::modeCreate|CFile::modeRead |CFile::modeWrite);
result.Write(sss);其中sss只能是CString型数据吗?如何写入浮点型?还有如何控制换行?查了好多文章,找不到阿。可以用数据类型转换将浮点型数据写入,但我的数据量太大,一个一个转换很麻烦的。

解决方案 »

  1.   


    void Write( const void* lpBuf, UINT nCount );你试试看,传入一个浮点数指针。
      

  2.   

    浮点数? 例如1.55 你想保存在文件的是什么数据? 如果是1.55的axcii码. 直接format好了浮点数32位的一个数, 分别一个一个字节存, 也是可以的啊
      

  3.   

    string
    float2string (float i)
    {
      char buffer[100];
      sprintf (buffer, "%f", i);
      return string (buffer);
    };
      

  4.   

    CString strInfo ;
    double lfValue ;
    UINT nLength ; lfValue = 1.24 ;
    CFile cfFile("joe.txt",CFile::modeCreate|CFile::modeRead |CFile::modeWrite);
    strInfo.Format("%lf", lfValue) ;
    nLength = strlen((LPCTSTR)strInfo) ;
    cfFile.Write(strInfo, nLength);
    cfFile.Close() ;/* 你写一个MFC的Dialog程序,加一个按钮,然后用这个代码试验一下结果就知道了 */
      

  5.   

    CFile result("d:\\resulet.txt",CFile::modeCreate|CFile::modeRead |CFile::modeWrite);
    CArchive ar(&ar, CArchive::store) ;
    ar<<sss;
    ar.Flush();
    ar.Close();
    result.Close;
      

  6.   

    呵呵,来晚了,楼上正解用序列化即CArchive类,楼上的代码可行,楼主可试一下。
      

  7.   

    楼上有个笔误, 那个CArchive ar(&ar, CArchive::store) ;
    应为CArchive ar(&result, CArchive::store) ;
      

  8.   

    CFile  result("d:\\resulet.txt",CFile::modeCreate  &brvbar;CFile::modeRead    &brvbar;CFile::modeWrite);  
    float sss = 1.5f;
    result.Write(&sss);  取地址就是指针
      

  9.   

    抱歉
    result.Write((const void*)&sss, sizeof(float));