CString FilePath,FileName,NewFileName;int q=0;
vector<BYTE>vBytes;
CFileFind finder;
BOOL bWorking = finder.FindFile("D:\\src\\*.src*");
while (bWorking&&q<3)
{
bWorking = finder.FindNextFile();
FilePath = (LPCTSTR)finder.GetFilePath();
FileName = (LPCTSTR)finder.GetFileName();
CFile file(FilePath,CFile::modeRead|CFile::typeBinary);
BYTE *pBuf;
DWORD dwFileLen;
dwFileLen=file.GetLength();
pBuf=new BYTE[dwFileLen];
file.Read(pBuf,dwFileLen);
file.Close();
for(int i=0;i<dwFileLen;i++)
vBytes.push_back(pBuf[i]);
NewFileName = "D:\\kk\\";;
NewFileName+=FileName;
MoveFileEx(FilePath,NewFileName,MOVEFILE_REPLACE_EXISTING);
q++;
}
我要每隔一段时间到D盘的SRC文件夹下面读取3个文件的内容放到vector里面,读完后放到KK目录下,SRC的目录下会不断放入新的文件,我现在有以下几点担心的地方:
1.FindFile和FindNextFile能找到正在写入的文件吗
2.如果能找到,CFile()能打开正在被写入的文件吗
3.如果不能打开,我这程序是不是就会崩溃啊。。
求大神指点迷津,我该怎么解决这些问题呢???
vector<BYTE>vBytes;
CFileFind finder;
BOOL bWorking = finder.FindFile("D:\\src\\*.src*");
while (bWorking&&q<3)
{
bWorking = finder.FindNextFile();
FilePath = (LPCTSTR)finder.GetFilePath();
FileName = (LPCTSTR)finder.GetFileName();
CFile file(FilePath,CFile::modeRead|CFile::typeBinary);
BYTE *pBuf;
DWORD dwFileLen;
dwFileLen=file.GetLength();
pBuf=new BYTE[dwFileLen];
file.Read(pBuf,dwFileLen);
file.Close();
for(int i=0;i<dwFileLen;i++)
vBytes.push_back(pBuf[i]);
NewFileName = "D:\\kk\\";;
NewFileName+=FileName;
MoveFileEx(FilePath,NewFileName,MOVEFILE_REPLACE_EXISTING);
q++;
}
我要每隔一段时间到D盘的SRC文件夹下面读取3个文件的内容放到vector里面,读完后放到KK目录下,SRC的目录下会不断放入新的文件,我现在有以下几点担心的地方:
1.FindFile和FindNextFile能找到正在写入的文件吗
2.如果能找到,CFile()能打开正在被写入的文件吗
3.如果不能打开,我这程序是不是就会崩溃啊。。
求大神指点迷津,我该怎么解决这些问题呢???
2.不一定能打开,要看之前是独占打开否
3.如果不能打开,请再代码控制异常。