Files
mir_server/sdk/srvlib/include/FDOP.h

99 lines
4.6 KiB
C
Raw Normal View History

2025-01-09 17:45:40 +08:00
#ifndef _FDOP_H_
#define _FDOP_H_
/************************************************************************
************************************************************************/
#include "_osdef.h"
#include "Define.h"
namespace FDOP
{
/* 判断文件或目录是否存在
* 使DirectoryExists
* 使IsArchive
* @true否则返回false
* %MAX_PATH
*/
bool FileExists(LPCTSTR sFilePath);
/* 判断文件是否存在切是一个可直接读取的归档文件
* %MAX_PATH
*/
bool IsArchive(LPCTSTR sFilePath);
/* 判断目录是否存在文件存在且文件是一个目录则返回true否则返回false
* %MAX_PATH
*/
bool IsDirectory(LPCTSTR sDirPath);
//Is COmmon File,Not Direcroty
bool IsCommonFile(LPCTSTR sDirPath);
/* 获取文件或目录名称
* c:\abc\123.txt --> 123.txt
* c:\abc\efg\ --> efg
* sDirBuf用于存储文件名称字符串
* dwBufLen为sNameBuf参数的缓冲区字符
dwBufLen值为0则函数不会将文件名拷贝到sNameBuf中
dwBufLen值非0则函数会将文件名拷贝到sNameBuf中并会在sNameBuf中写入终止符;
dwBufLen-1sNameBuf中写入终止符
@
*/
SIZE_T ExtractFileName(LPCTSTR sFilePath, LPTSTR sNameBuf, SIZE_T dwBufLen);
/* 获取文件路径中的文件名部分,不包含文件后缀部分
* c:\abc.txt --> abc
* sNameBuf用于存储文件名称字符串
* dwBufLen为sNameBuf参数的缓冲区字符
dwBufLen值为0则函数不会将文件名拷贝到sNameBuf中
dwBufLen值非0则函数会将文件名拷贝到sNameBuf中并会在sNameBuf中写入终止符;
dwBufLen-1sNameBuf中写入终止符
@
*/
SIZE_T ExtractFileNameOnly(LPCTSTR sFileName, LPTSTR sNameBuf, SIZE_T dwBufLen);
/* 获取文件名或文件路径中的文件后缀部分
* abc.txt --> .txt
* '.'
*/
LPCTSTR ExtractFileExt(LPCTSTR sFileName);
/* 获取文件所在目录路径
* c:\abc\efg\123.txt --> c:\abc\efg\
* c:\abc\efg\ --> c:\abc\
* sDirBuf用于存储目录字符串
* dwBufLen为sDirName参数的缓冲区字符
dwBufLen值为0则函数不会将目录路径拷贝到sDirBuf中
dwBufLen值非0则函数会将目录路径拷贝到sDirBuf中并会在sDirBuf中写入终止符;
dwBufLen-1sDirBuf中写入终止符
@
*/
SIZE_T ExtractFileDirectory(LPCTSTR sFilePath, LPTSTR sDirBuf, SIZE_T dwBufLen);
/* 获取顶层目录名称
* (abc\efg\ --> abc)
* ppChildDirPath用于存顶层目录之后的目录路径
* sDirName用于存储目录字符串
* dwBufLen为sDirName参数的缓冲区字符
dwBufLen值为0则函数不会将目录名拷贝到sDirName中
dwBufLen值非0则函数会将目录名拷贝到sDirName中并会在sDirName中写入终止符;
dwBufLen-1sDirName中写入终止符
@
*/
SIZE_T ExtractTopDirectoryName(LPCTSTR sDirPath, OUT LPCTSTR *ppChildDirPath, LPTSTR sDirName, SIZE_T dwBufLen);
/* 逐层创建目录
* C:\a\b\c\d
* @truefalse
* %false且已经创建的父目录不会被删除
* %MAX_PATH个字符长度以内
*/
bool DeepCreateDirectory(LPCTSTR sDirPath);
}
#endif