如何判断一个路径是目录还是文件

 我来答
蒯鸿博华金
2019-05-20 · TA获得超过2.9万个赞
知道大有可为答主
回答量:1.1万
采纳率:35%
帮助的人:665万
展开全部
第十三个findfirstfile寻找文件以及获得文件的信息
这里举一个例子吧,列举e盘第一目录下的所有文件,包括文件夹,结合findnextfile
#include<windows.h>
#include<stdio.h>
int
main()
{
bool
done=true;
win32_find_data
fd;
handle
hfind
=
findfirstfile("e:\\*.*",
&fd);//第一个参数是路径名,可以使用通配符,懂dos的人应该知道吧!fd存储有文件的信息
while
(done)
{
printf("%s\n",fd.cfilename);
done=findnextfile(hfind,
&fd); //返回的值如果为0则没有文件要寻了
}
return
0;
}
当然也可以直接找一个文件,不使用通配符,但这样有什么意义呢?,如findfirstfile("e:\\aaa.txt",&fd);其实这个可以获取一个文件的信息,如文件是不是隐藏的,或者有没有只读属性等。
当然通过控制通配符,也可以寻找特定类型的文件,比如我只要找文本文件,那么就是这个语句findfirstfile("e:\\*.txt",&fd);就行了,关键看你自己灵活运用。
前面说过fd里存储有文件的信息,那怎么根据fd里面的成员判断这个文件的属性,文件是否隐藏,是不是文件夹。
fd里的dwfileattributes存储有文件的信息,如判断是否为文件夹,只要把这个变量和file_attribute_directory进行按位与运算,如果为1的话,表明为文夹件,如if(fd.dwfileattributes&file_attribute_directory==1)
printf("%s是文件夹\n",fd.cfilename);
其它判断也是一样,现在给出文件的属性(常用几个):file_attribute_hidden(隐藏)
file_attribute_readonly(只读)file_attribute_system(系统)
第十四个findnextfile寻找文件
参照findfirstfile函数的例子!
qzhao_1
2018-01-15 · TA获得超过2.4万个赞
知道大有可为答主
回答量:2.4万
采纳率:76%
帮助的人:4385万
展开全部
如果是在 UNIX/Linux 操作系统下面,可以通过使用强大的 SHELL 编程的方法来判断当前的路径到底是一个字目录、还是一个文件;至于说如何使用强大的 SHELL 编程技术以达到实现自己的目的,那就必须要阅读和 SHELL 编程、以及 sed、awk 等有关的详细文档了。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
麦麦冬ok
2018-01-15 · TA获得超过1132个赞
知道小有建树答主
回答量:685
采纳率:84%
帮助的人:70.1万
展开全部
文件有后缀名,如图片.jpg,Word文档.doc,目录没有
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2018-01-15
展开全部
有后缀名的的.xxx的是文件,否则就是路径
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式