利用CreateFile检测,ifstream读文件流,如何防止多台电脑打开同一文件,和一台电脑重复打开同一文件。
利用CreateFile检测,ifstream读文件流,如何防止多台电脑打开同一文件,和一台电脑重复打开同一文件。
function chkfile()
{
if( bOpenFlag ) return true;
HANDLE hFile;
hFile = CreateFile(file.c_str(), GENERIC_READ | GENERIC_WRITE,
0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
if (INVALID_HANDLE_VALUE == hFile){
CloseHandle(hFile);
return true;
}
CloseHandle(hFile);
return false;
}
function openfile()
{
if( bOpenFlag ) block_in.close();
block_in.open(file.c_str(), ios::in);
if ( block_in ) {
本机第二次打开的时候会出错。
}
}