VC判断一个文件为目录的方法
本文实例讲述了VC判断一个文件为目录的方法,分享给大家供大家参考。具体实现方法如下:
这是一个自定义函数,用于判断一个文件是否为目录:
* check whether a file is a directory
@return true if is a directory, else false(if file not exists, false)
*/
__declspec(dllexport) bool IsDirectory(const char* filename)
{
DWORD dwAttr = ::GetFileAttributes(filename); //得到文件属性
if (dwAttr == 0xFFFFFFFF) // 文件或目录不存在
return false;
else if (dwAttr&FILE_ATTRIBUTE_DIRECTORY) // 如果是目录
return true;
else
return false;
}
以下是GetFileAttribute定义,摘自msdn:
Retrieves a set of FAT file system attributes for a specified file or directory.得到FAT文件系统的文件属性
Parameters
lpFileName
The name of the file or directory.In the ANSI version of this function, the name is limited to MAX_PATH characters. To extend this limit to 32,767 wide characters, call the Unicode version of the function and prepend "//?/" to the path. For more information, see Naming a File.文件名或目录名。最大长度为系统的文件名最大长度。如果是unicode环境,需要调用这个函数的unicode版本。
Return Value
If the function succeeds, the return value contains the attributes of the specified file or directory.
如果函数成功了,返回值会包含以下文件属性:
If the function fails, the return value is INVALID_FILE_ATTRIBUTES. To get extended error information, call GetLastError.
如果函数失败,返回值是INVALID_FILE_ATTRIBUTES. 可以通过GetLastError获取更详细的出错信息
The attributes can be one or more of the following values.
文件属性可以是下列值的一个或多个的组合。
Return code/value | Description |
---|---|
FILE_ATTRIBUTE_ARCHIVE |
A file or directory that is an archive file or directory. Applications use this attribute to mark files for backup or removal. 存档文件 |
FILE_ATTRIBUTE_COMPRESSED |
A file or directory that is compressed. For a file, all of the data in the file is compressed. For a directory, compression is the default for newly created files and subdirectories. 压缩文件 |
FILE_ATTRIBUTE_DEVICE |
Reserved; do not use. |
FILE_ATTRIBUTE_DIRECTORY |
The handle that identifies a directory. 目录文件 |
FILE_ATTRIBUTE_ENCRYPTED |
A file or directory that is encrypted. For a file, all data streams in the file are encrypted. For a directory, encryption is the default for newly created files and subdirectories. 加密文件 |
FILE_ATTRIBUTE_HIDDEN |
The file or directory is hidden. It is not included in an ordinary directory listing. 隐藏文件 |
FILE_ATTRIBUTE_NORMAL |
A file or directory that does not have other attributes set. This attribute is valid only when used alone.
|
FILE_ATTRIBUTE_NOT_CONTENT_INDEXED |
The file is not to be indexed by the content indexing service. |
FILE_ATTRIBUTE_OFFLINE |
The data of a file is not available immediately.
精彩图集
精彩文章
热门标签赞助商链接 |