emolingzhu 2016-05-07 01:51 采纳率: 87.5%
浏览 1977
已采纳

C++读取.dat文件的问题求解答

哎,还是不对,上面催的太紧了,求大神解答
我现在在用C++利用MFC建界面,需要读取一个.dat文件并将文件放到数组中,但是现在我发现底下把文件数据放到数组中的程序根本没执行,求大神解答哪儿出错了
读取.dat文件的代码:
void CcftDlg::OnBnClickedButton1()
{
CFileDialog m_dlg(1,_T("dat"),NULL,NULL,_T("dat(*.dat)|*.dat|*(*.*)|*.*"),this);
if (m_dlg.DoModal()==IDOK)
{
CString filename =m_dlg.GetPathName();
str = filename;
infile.open(str,ios::in|ios::binary);
}
}
其中,infile的定义是 fstream infile;
将.dat文件放数组中的代码:

void Ctest7Dlg::OnPaint()
{
if (!infile.read((char*) (buf), sizeof(INT16)*2*2048))
                {
                    infile.close();
                    }
else{
            int h;
       for(h=0;h<2048;h++)
       {
           in[i][0]= buf[i*2];
           in[i][1]= buf[i*2+1];
           s1.Format("内存申请成功......\r\n");
               log=s1+log;
               SetDlgItemText(IDC_EDIT2,log);

现在当我打开一个文件时候,我发现好像OnPaint这部分根本没执行,没有输出“内存申请成功”,是不是我代码写的有问题呢?
  • 写回答

1条回答 默认 最新

  • coding划水 2016-05-09 18:40
    关注

    将.dat文件放到数组的代码不应该放在OnPaint中,MFC中OnPaint是执行界面窗口重绘的,那部分代码应该放在if (m_dlg.DoModal()==IDOK) 括号里面

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 关于#java#的问题:找一份能快速看完mooc视频的代码
  • ¥15 这种微信登录授权 谁可以做啊
  • ¥15 请问我该如何添加自己的数据去运行蚁群算法代码
  • ¥20 用HslCommunication 连接欧姆龙 plc有时会连接失败。报异常为“未知错误”
  • ¥15 网络设备配置与管理这个该怎么弄
  • ¥20 机器学习能否像多层线性模型一样处理嵌套数据
  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!