问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

C语言如何遍历目录 (C++也可以) findfirst findnext怎么用?_百度...

发布网友 发布时间:2024-10-21 12:19

我来回答

3个回答

热心网友 时间:2024-10-21 12:50

#include <windows.h>
#include <stdio.h>
FILE *fp;
void findFile(char filePath[])//这个是你要的函数
{
char szFind[MAX_PATH];//这是要找的
WIN32_FIND_DATA FindFileData;
HANDLE hFind;
char szFile[MAX_PATH];

strcpy(szFind,filePath);
strcat(szFind,"\\*.*");//利用通配符找这个目录下的所以文件,包括目录

hFind=FindFirstFile(szFind,&FindFileData);
if(INVALID_HANDLE_VALUE == hFind) return;

while(TRUE)
{

if(FindFileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)//这是目录
{
if(FindFileData.cFileName[0]!='.')//.表示当前目录,因为每个目录下面都有两个默认目录就是..和.分别表示上一级目录和当前目录
{
strcpy(szFile,filePath);
strcat(szFile,"\\");
strcat(szFile,FindFileData.cFileName);
findFile(szFile);//寻找这个目录下面的文件
}
}
else
{
fprintf(stdout,"%s\\%s\n",filePath,FindFileData.cFileName);//打印出目录下的文件的路径和名称
fprintf(fp,"%s\\%s\n",filePath,FindFileData.cFileName);//这将结果存档到c:\\path.txt中。
}
if(!FindNextFile(hFind,&FindFileData))//寻找下一个文件
break;
}
FindClose(hFind);//关闭句柄
}

int main()
{
fp = fopen("C:\\path.txt","w");
findFile("D:\\e-book\\实习\\随笔\\读书ing");//这里是你要遍历的目录,你自己可以改变,它会显示这个目录下的所有文件,包括这个目录下子目录下的文件。
fclose(fp);
return 0;
}
程序如上,是把结果输出到标准输出上,并且存档到C:\\path.txt中。
可以运行的,我已经测试过。
工具是vc6.0.

热心网友 时间:2024-10-21 12:42

你要写一个递归函数

热心网友 时间:2024-10-21 12:48

WIN32_FIND_DATA fd;
HANDLE hdFind;
hdFind = FindFirstFile(strDirPath,&fd);//strDirPath为目录路径
if(hdFind != INVALID_HANDLE_VALUE)
{
    do
    {
       //做你需要的操作。
    }while(FindNextFile(hdFind,&fd));
}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
法老咒语事件发展 中国在什么板块上 做人高在忍贵在让现代诗歌 每日一句精美句子 每日一言人生感悟简短 我国古代的秋千节还是什么节? 我国古代有秋千节这天还是什么节日秋千节是什么节日 摊丁入亩概述 原始社会末期为什么会出现宗教观念 宗教是怎么产生的 文学著作《飘》,哪位中国翻译家的译作最好,最受欢迎 驾驶证异地消分,北京可以消除异地驾驶证吗 “爱音乐-知然产品”订购课程权益时,提示“该课程暂不支持订购”? 如何查看“知然”包月课程是否订购成功? 订购有奖活动的《秒速学会尤克里里》课程退订说明是怎样的? “爱音乐-知然产品”是不是有免流量听课? 闲鱼买家确认收货的时间是多久 爱音乐【知然内容产品-最强心理】的退订方式是什么? 餐前酒法国味美思 2020年5月结婚黄道吉日查询 2020年5月的黄道吉日有哪些 闲鱼被骗了能管吗? “却将海水来相接”的出处是哪里 可乐可以冲洗汽车大灯吗 2020打动女孩哭的真心话句子 肉麻情话句句撩人感动到哭! 有关感动到哭的七夕表白情话的句子简短(七夕,感动到泪奔的情话) 啤酒加可乐可以清洗汽车大灯吗 一个句子中有had了还能不能用过去式 动词过去式后面可以加过去分词吗?例如:had not been +sdj.(形容词... 驾驶室脚垫下面有水是哪进的? 驾驶室有水怎么办? 主驾驶有水的原因是什么? 闲鱼卖东西不小心点了面对面交易 等他收到货之后他确认收货 是... 订购知然后可享受什么权益? 闲鱼卖家让我先确认收货 怎么退订“知然”包月的课程? 知然课程每月多少钱? C盘清理指南,三个windows系统下小指令,让你的电脑C盘告别臃肿,拒绝空间... 阅读中文图书目录 营养美学是不是智商税?大家喝的都是哪一款?求推荐~ ...女主在记忆里好像是郑秀文或者杨千嬅 剧情记不清了只记得几个... 电瓶车电瓶的连接线断了,重新连接时刚碰到正极就冒火花,这样正常吗... 中医治疗肿瘤的特点是什么 ...到肝上的恶性肿瘤,慢慢变小,最后消失,这是真的吗? 中医如何预防肿瘤复发? 原神宵宫可以用弓藏吗 玄关十字绣有什么忌讳 划分有结冰期和无结冰期的主导因素 ...的不知道一.一犀浦西区花园步行街离那儿有多远?怎么过去? 成都火车东站到天富广场怎么走 成都市火车站到郫县犀浦镇恒山南街134怎么走 比较:iPhone 14 Plus 与 iPhone 14 Pro Max