windows中判断是文件还是目录 api
1个回答
展开全部
如果使用FindFirstFile系列的API获取的文件信息, 那么会有一个结构成员标识是否为目录.
如果仅仅知道文件名的话, 需要用GetFileAttributes或者GetFileAttributesEx.
后者是前者的加强版, 可以获取更多的文件属性, 不过你的要求前者就可以满足了.
GetFileAttributes Function
为一个指定的文件或目录返回文件系统的属性。可以使用GetFileAttributesEx 函数获得更多的属性信息。如果要实现交互式操作,可以使用GetFileAttributesTransacted 函数。
DWORD WINAPI GetFileAttributes(
__in LPCTSTR lpFileName
);
参数 lpFileName [in] 文件或目录的名字,对于ANSI版本,名字不能大于MAX_PATH。
如果函数成功,返回值包含文件或目录的属性。如果失败,返回INVALID_FILE_ATTRIBUTES。
具体返回值我查了下MSDN, 很多, 就不复制了, 自己看下
http://msdn.microsoft.com/zh-cn/subscriptions/downloads/gg258117.aspx
你需要的是FILE_ATTRIBUTE_DIRECTORY这个, 只要和函数返回值比较下, true的话就是目录,
反之就是文件.
如果仅仅知道文件名的话, 需要用GetFileAttributes或者GetFileAttributesEx.
后者是前者的加强版, 可以获取更多的文件属性, 不过你的要求前者就可以满足了.
GetFileAttributes Function
为一个指定的文件或目录返回文件系统的属性。可以使用GetFileAttributesEx 函数获得更多的属性信息。如果要实现交互式操作,可以使用GetFileAttributesTransacted 函数。
DWORD WINAPI GetFileAttributes(
__in LPCTSTR lpFileName
);
参数 lpFileName [in] 文件或目录的名字,对于ANSI版本,名字不能大于MAX_PATH。
如果函数成功,返回值包含文件或目录的属性。如果失败,返回INVALID_FILE_ATTRIBUTES。
具体返回值我查了下MSDN, 很多, 就不复制了, 自己看下
http://msdn.microsoft.com/zh-cn/subscriptions/downloads/gg258117.aspx
你需要的是FILE_ATTRIBUTE_DIRECTORY这个, 只要和函数返回值比较下, true的话就是目录,
反之就是文件.
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询