请问如何将list control中的两列16进制数据保存为bin文件?

解决方案 »

  1.   

    打开文件时,用二进制方式打开啊,然后直接将(char) buf里面的数据直接写入bin文件不可以吗?
      

  2.   

    假设已经取出list control中的数据了,并赋值给以个变量m_str,现在要如何操作,点击对话框中的save按钮就可以保存为bin格式的数据了
      

  3.   

    自己搞定了,说一下方法,首先将listcontrol中的数据保存到字符串数组str[]中,
    然后将数组转化为字节类型mbyte[](使用mbyte[i] = strtol(str[i],null,16))
    然后:
    HANDLE hFile = INVALID_HANDLE_VALUE;
    CString strFile;

    TCHAR szFilter[]=
    _T("Bin文件(.bin)|*.bin||"); CFileDialog fileDlg(FALSE, NULL, NULL,OFN_FILEMUSTEXIST| OFN_HIDEREADONLY, szFilter, this); if(fileDlg.DoModal() == IDOK)
    {
    strFile = fileDlg.GetPathName();
    }
    else return;
    strFile += _T(".bin"); hFile = ::CreateFile(strFile,GENERIC_WRITE,FILE_SHARE_READ,NULL,CREATE_ALWAYS,NULL,NULL);

    if(INVALID_HANDLE_VALUE  == hFile)
    {
    AfxMessageBox(_T("保存失败!"),MB_OK | MB_ICONERROR);
    return;
    } DWORD nByteWrite;
            int nbyte;//要保存的字节大小
    ::WriteFile(hFile,mbyte,nbyte,&nByteWrite,NULL);
    ::CloseHandle(hFile);