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];
现在当我打开一个文件时候,我发现好像OnPaint这部分根本没执行,是不是我代码写的有问题呢?
急求解答!!!
内存申请没失败,就是没有数据读进来,我在for后面加了几行代码,
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_EDIT1,log);
发现没输出‘内存申请成功 ’