“cannot open Debug/test.exe for writing”?
你的程序可能已经运行 在任务管理器中找出xx程序,将其退出,便可再重新编译运行。

解决方案 »

  1.   

    你可以把debug文件夹种的所有全都删掉,重新编译试试!
      

  2.   

    按照楼上方法试试,不行再
    你把你debug目录下 的东西都删除了,然后再F7编译。
      

  3.   

    我把DEBUG目录都删了然后再运行几次还是原样.
      

  4.   

    !!有这事!
    1、看你的工程设置里是不是正确设置了编译后的输出路径是否就是你删除的路径;
    2、用任务管理器,看看有没有已经在运行的你的test.exe ,有的话结束它!
    3、关掉你的ide。
    4、把你的工程文件夹一起删掉(备分必要的文件)。
    从头开始再试试!
      

  5.   

    to wyalchemy:
      我是菜了请详细讲解一下你说的1 和2的意思?
    1、看你的工程设置里是不是正确设置了编译后的输出路径是否就是你删除的路径;
    2、用任务管理器,看看有没有已经在运行的你的test.exe ,有的话结束它!
    顺便再问一下面代码是否正确?
    void CXxDlg::OnButton1() 
    {
        BOOL fWriteStat ; 
        char szBuffer[13];
       for(int i =0;i<13;i++)
          szBuffer[i]=i;
       int dwBytesToWrite=13;
       DWORD dwBytesWritten;
       DWORD dwError;
       OVERLAPPED WRITE_OS;
        memset(&WRITE_OS,0,sizeof(OVERLAPPED));
        WRITE_OS.hEvent =CreateEvent(NULL,TRUE,FALSE,NULL);
        SetCommMask(hCom,EV_TXEMPTY);
    //在这里我发现有人用循环语句一个一个字节发送是一定要这样我这样能否把13个字节一次发出去?请指教!
        fWriteStat = WriteFile(hCom, szBuffer, dwBytesToWrite,
                              &dwBytesWritten, &WRITE_OS ); //写数据.
        int err=GetLastError();
        if (!fWriteStat) 
         if((GetLastError()!=0) && (GetLastError()==ERROR_IO_PENDING))
          {
           while (!GetOverlappedResult(hCom,&WRITE_OS,&dwBytesWritten, TRUE ))
       {
    dwError = GetLastError();
    if (dwError==ERROR_IO_PENDING)
       continue;

    }

    }
    }
      

  6.   

    有个很简单的方法可以解决,
    关闭关闭工程,VC
    在打开VC 就好了,
    实际上是停止运行你的程序后有的资源没有释放,
    为什么这样,我不太清楚,
    但我遇到这种情况
      

  7.   

    to ladykiller:
    你说的不行关闭后我再多点!几次问题又出来了。