本文整理汇总了C++中IF_FileSystem::isDir方法的典型用法代码示例。如果您正苦于以下问题:C++ IF_FileSystem::isDir方法的具体用法?C++ IF_FileSystem::isDir怎么用?C++ IF_FileSystem::isDir使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IF_FileSystem
的用法示例。
在下文中一共展示了IF_FileSystem::isDir方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: deleteMultiFile
/****************************************************************************
Desc: Removes a 64-bit file
****************************************************************************/
RCODE F_MultiFileHdl::deleteMultiFile(
const char * pszPath)
{
RCODE rc = NE_FLM_OK;
IF_DirHdl * pDir = NULL;
char szTmpPath[ F_PATH_MAX_SIZE];
IF_FileSystem * pFileSystem = f_getFileSysPtr();
// Can't use this handle to delete something if we already
// have a file open.
if( m_bOpen)
{
// Can't jump to exit, because it calls releaseLockFile
return( RC_SET_AND_ASSERT( NE_FLM_FAILURE));
}
if( RC_BAD( rc = pFileSystem->doesFileExist( pszPath)))
{
goto Exit;
}
if( !pFileSystem->isDir( pszPath))
{
// If the path specifies a single file rather than a
// 64-bit directory, just go ahead and delete the file.
rc = pFileSystem->deleteFile( pszPath);
goto Exit;
}
if( RC_BAD( rc = createLockFile( pszPath)))
{
goto Exit;
}
if( RC_OK( pFileSystem->openDir( pszPath, "*.64", &pDir)))
{
// Remove all data files
for( rc = pDir->next(); !RC_BAD( rc) ; rc = pDir->next())
{
pDir->currentItemPath( szTmpPath);
f_assert( f_strstr( szTmpPath, ".64") != 0);
(void)pFileSystem->deleteFile( szTmpPath);
}
pDir->Release();
pDir = NULL;
rc = NE_FLM_OK;
}
// Release and delete the lock file
(void)releaseLockFile( pszPath, TRUE);
// Remove the directory
(void)pFileSystem->removeDir( pszPath);
Exit:
(void)releaseLockFile( pszPath, FALSE);
return( rc);
}
示例2: openFile
/****************************************************************************
Desc: Opens an existing 64-bit file
****************************************************************************/
RCODE F_MultiFileHdl::openFile(
const char * pszPath)
{
RCODE rc = NE_FLM_OK;
IF_FileSystem * pFileSystem = f_getFileSysPtr();
IF_DirHdl * pDir = NULL;
FLMUINT uiTmp;
FLMUINT uiHighFileNum = 0;
FLMUINT64 ui64HighOffset = 0;
if( m_bOpen)
{
rc = RC_SET_AND_ASSERT( NE_FLM_FAILURE);
goto Exit;
}
if( RC_BAD( pFileSystem->doesFileExist( pszPath)) ||
!pFileSystem->isDir( pszPath))
{
rc = RC_SET( NE_FLM_IO_PATH_NOT_FOUND);
goto Exit;
}
f_strcpy( m_szPath, pszPath);
// Create the lock file
if( RC_BAD( rc = createLockFile( m_szPath)))
{
goto Exit;
}
// Need to determine the current EOF
if( RC_BAD( rc = pFileSystem->openDir( m_szPath, (char *)"*.64", &pDir)))
{
goto Exit;
}
// Find all data files to determine the EOF
for( rc = pDir->next(); !RC_BAD( rc); rc = pDir->next())
{
if( RC_OK( getFileNum( pDir->currentItemName(), &uiTmp)))
{
if( uiTmp >= uiHighFileNum)
{
uiHighFileNum = uiTmp;
ui64HighOffset = pDir->currentItemSize();
}
}
}
rc = NE_FLM_OK;
m_ui64EOF = (((FLMUINT64)uiHighFileNum) * m_uiMaxFileSize) + ui64HighOffset;
m_bOpen = TRUE;
Exit:
if( pDir)
{
pDir->Release();
}
// Release the lock file
if( RC_BAD( rc))
{
releaseLockFile( m_szPath, FALSE);
}
return( rc);
}
示例3: createDir
RCODE FTKAPI F_DirHdl::createDir(
const char * pszDirPath)
{
RCODE rc = NE_FLM_OK;
char * pszParentDir = NULL;
IF_FileSystem * pFileSystem = f_getFileSysPtr();
if( RC_BAD( rc = f_alloc( F_PATH_MAX_SIZE, &pszParentDir)))
{
goto Exit;
}
// Discover the parent directory of the given one
if( RC_BAD( rc = pFileSystem->pathReduce( pszDirPath,
pszParentDir, NULL)))
{
goto Exit;
}
// If pathReduce couldn't reduce the path at all, then an
// invalid path was supplied.
if( f_strcmp( pszDirPath, pszParentDir) == 0)
{
rc = RC_SET( NE_FLM_IO_INVALID_FILENAME);
goto Exit;
}
// If a parent directory was found, and it doesn't already exist, create it
if( *pszParentDir)
{
// If the "parent" is actually a regular file we need to return an error
if( RC_OK( pFileSystem->doesFileExist( pszParentDir)))
{
if( !pFileSystem->isDir( pszParentDir))
{
rc = RC_SET( NE_FLM_IO_ACCESS_DENIED);
goto Exit;
}
}
else if( RC_BAD( rc = createDir( pszParentDir)))
{
goto Exit;
}
}
#if defined( FLM_WIN)
if( !CreateDirectory((LPTSTR)pszDirPath, NULL))
{
rc = f_mapPlatformError( GetLastError(), NE_FLM_CREATING_FILE);
}
#elif defined( FLM_UNIX) || defined( FLM_LIBC_NLM)
if( mkdir( (char *)pszDirPath, 0777) == -1)
{
rc = f_mapPlatformError( errno, NE_FLM_CREATING_FILE);
}
#endif
Exit:
if( pszParentDir)
{
f_free( &pszParentDir);
}
return( rc);
}