nanluming7891 2017-10-30 03:08 采纳率: 0%
浏览 987

VS2010MFC 返回值问题,很困扰我

int CDiskSpeedDlg::ZWrite(int t)
{

//int count=0;
CString write;
count = GetDlgItemInt(IDC_EDIT3);
m_write.GetWindowTextW(write);
int  i =_ttoi(write);
count=i;

CString *n =&disk[drive];
HANDLE hFile = CreateFile(L"n://T2.dat",
                            GENERIC_WRITE,
                            0,
                            NULL,
                            CREATE_ALWAYS,
                            FILE_FLAG_OVERLAPPED | FILE_FLAG_NO_BUFFERING | FILE_FLAG_WRITE_THROUGH,//FILE_FLAG_WRITE_THROUGH
                            NULL);


while(1)
{
    clock_t start = clock();

    for(int i=0;i<count*1024/Block_size;i++)
    {
        BOOL rc = WriteFile(hFile,buf,MB_SIZE*Block_size,&dwBytesWrite,&overlap);
            if(rc == 0)
        {
            if (GetLastError() == ERROR_IO_PENDING)
            {//当错误是ERROR_IO_PENDING,那意味着写文件的操作还在进行中
                //等候,直到文件写完
                GetOverlappedResult(hFile,&overlap,&dwBytesWrite,TRUE);
                }
                else
                {
                //错误操作
                }
        }
        WOffset = WOffset + MB_SIZE*Block_size;
        overlap.Offset     = WOffset & 0xffffffff ;
        overlap.OffsetHigh = (WOffset>>32) & 0xffffffff;
    }
    clock_t end = clock();

      t = t*count*1024*MB_SIZE;
      t = t/1024;
        t = t/(end-start);     //编译时没有错误。
        //执行是报错,XXX.exe 中的 0x0100457a 处有未经处理的异常: 0xC0000094: Integer division by zero。

    a=t; //a定义为成员变量int型
    CloseHandle(hFile);
}



return   a;

}

void CDiskSpeedDlg::OnBnClickedButton1()
{
// TODO: 在此添加控件通知处理程序代码

CString z;
ZWrite(a);
UpdateData(TRUE);

//*************************************************************测试

z.Format(_T("%d"),a);
MessageBox(z);
//*************************************************************
v.Format(_T("%d"),a);
m_average_velocity.SetWindowTextW(v);

  • 写回答

3条回答 默认 最新

  • leadersmallsmile 2017-10-30 06:37
    关注

    int CDiskSpeedDlg::ZWrite(int t)===》int CDiskSpeedDlg::ZWrite(int &t)
    这样应该就没问题了。

    评论

报告相同问题?

悬赏问题

  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog