我把
1,2,5,36,0,125,4
2,0,0,0,0,0,0,0
2,5,3,6,4
这样的数以二进制写进文件中,然后我想再读取判断里面的\n和,的个数,用ifstream怎么做啊?
或者其他的函数也可以

解决方案 »

  1.   

    读取文件内容:
    CString CUtilityEx::ReadFileSDK( CString strFilePath )
    {
    CString strReturn;
    HANDLE hlogFile = ::CreateFile(strFilePath, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, 0, NULL);
    if(hlogFile != INVALID_HANDLE_VALUE)
    {
    ::SetFilePointer(hlogFile, 0, 0, FILE_BEGIN);
    DWORD dwWrite=0; char szBuf[2048 * 100];
    memset(szBuf,0,sizeof(szBuf));
    DWORD dwRead = 0 ;
    ::ReadFile(hlogFile,szBuf,sizeof(szBuf), &dwRead,NULL);
    ::CloseHandle(hlogFile);
    strReturn = szBuf;
    }
    return strReturn;
    }
    计算\n和, 只要循环读取出来的内容,一个一个统计就可以了。
      

  2.   

    ,是0x2C
    \n在windows中是0x0D 0x0A
    ifstream只能读取,不能保存。
    保存用ofstream或者直接用fstream.
    二进制方式是ios::binary
    统计就用count
    http://www.cppblog.com/gohan/archive/2008/05/09/49303.html