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

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)
    这样应该就没问题了。

    评论

报告相同问题?

悬赏问题

  • ¥30 c#打开word开启修订并实时显示批注
  • ¥15 如何解决ldsc的这条报错/index error
  • ¥15 VS2022+WDK驱动开发环境
  • ¥30 关于#java#的问题,请各位专家解答!
  • ¥30 vue+element根据数据循环生成多个table,如何实现最后一列 平均分合并
  • ¥20 pcf8563时钟芯片不启振
  • ¥20 pip2.40更新pip2.43时报错
  • ¥15 换yum源但仍然用不了httpd
  • ¥50 C# 使用DEVMOD设置打印机首选项
  • ¥15 麒麟V10 arm安装gdal