现在问题是这样的:(20)
void DoMyCopy()
{
if(文件未被打开)
{
return OPENFALSE;
}
else
{
//对文件内部进行操作.主要是写入操作
//关闭文件
SetEvent(m_hCopyEvent);
}
}//拷贝文件,线程操作
DWORD WINAPI COperateLib::CopyToDisk(PVOID pParam)
{
COperateLib *pOperLib = (COperateLib *)pParam;
uint nErrorFlag = FLAGISWRONG;
while (pOperLib->m_hCopyEvent != INVALID_HANDLE_VALUE)
{
DWORD nResult = WaitForSingleObject(pOperLib->m_hCopyEvent, INFINITE);
if (nResult == WAIT_OBJECT_0) //有发送事件
{
CopyFile(pOperLib->DBFILENAME,pOperLib->DBFILENAME_Disk,FALSE);
//打开文件
}
}
return 0;
}//如果不用线程进行Copy,直接调用CopyFile函数,没什么问题
调用线程,循环执行几次问题就有了.是不是我的逻辑出现问题?还有一个小问题:(10)
LocalFree
和delete[]
有什么区别?
void DoMyCopy()
{
if(文件未被打开)
{
return OPENFALSE;
}
else
{
//对文件内部进行操作.主要是写入操作
//关闭文件
SetEvent(m_hCopyEvent);
}
}//拷贝文件,线程操作
DWORD WINAPI COperateLib::CopyToDisk(PVOID pParam)
{
COperateLib *pOperLib = (COperateLib *)pParam;
uint nErrorFlag = FLAGISWRONG;
while (pOperLib->m_hCopyEvent != INVALID_HANDLE_VALUE)
{
DWORD nResult = WaitForSingleObject(pOperLib->m_hCopyEvent, INFINITE);
if (nResult == WAIT_OBJECT_0) //有发送事件
{
CopyFile(pOperLib->DBFILENAME,pOperLib->DBFILENAME_Disk,FALSE);
//打开文件
}
}
return 0;
}//如果不用线程进行Copy,直接调用CopyFile函数,没什么问题
调用线程,循环执行几次问题就有了.是不是我的逻辑出现问题?还有一个小问题:(10)
LocalFree
和delete[]
有什么区别?
执行 CopyFile(pOperLib->DBFILENAME,pOperLib->DBFILENAME_Disk,FALSE);
这一条语句后,移到下面的语句,并不是表明文件复制成功了.只是说明复制操作已经做了,具体的复制操作还没有做完
现在就不知道什么时候确定做好完整的拷贝
应该是完成的.
多看看windows 机制