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

在windows下 怎么用c语言遍历文件夹?要用纯c的

发布网友 发布时间:2022-04-26 15:19

我来回答

5个回答

热心网友 时间:2022-04-06 13:42

1、操作系统中有相关的API函数,可以读取目录中所有的文件名字,以及时间属性信息,把这些信息读出来,直接依次遍历即可。

2、例程:

#include"stdio.h"
#include"io.h"
int main()
{
 struct _finddata_t files;
 int File_Handle;
 int i=0;
 File_Handle = _findfirst("c:/temp/*.txt",&files);
 if(File_Handle==-1)
 {
 printf("error\n");
 return 0;
 }
 do
 {
 printf("%s \n",files.name);
 i++;
 }while(0==_findnext(File_Handle,&files));
 _findclose(File_Handle);
 printf("Find %d files\n",i);
 return 0;
}

热心网友 时间:2022-04-06 15:00

#include "stdio.h" 
#include "windows.h"
void find(char * lpPath) 

char szFind[MAX_PATH],szFile[MAX_PATH]; 
WIN32_FIND_DATA FindFileData; 
strcpy(szFind,lpPath); 
strcat(szFind,"\\*.*");
HANDLE hFind=::FindFirstFile(szFind,&FindFileData); 
if(INVALID_HANDLE_VALUE == hFind) 
return; 
while(TRUE) 

if(FindFileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) 

if(FindFileData.cFileName[0]!='.') 

strcpy(szFile,lpPath); 
strcat(szFile,"\\"); 
strcat(szFile,FindFileData.cFileName); 
find(szFile); 


else 

printf("%s\n",FindFileData.cFileName);

if(!FindNextFile(hFind,&FindFileData)) 
break; 


void main() 

char filepath[MAX_PATH]="G:\\novel";  //可自己输入文件夹绝对路径
find(filepath); 
system("PAUSE");
}

追问error C2146: syntax error : missing ';' before identifier 'hFind'
error C2065: 'hFind' : undeclared identifier
error C2065: 'hFind' : undeclared identifier
我用vc2008 编译的 这个怎么解决啊,我把它写成的名字是 copy.c进行编译的

追答

c的话改成这样

#include <stdio.h>  
#include <windows.h> 
void find(char * lpPath)  
{  
 char szFind[MAX_PATH],szFile[MAX_PATH];  
 WIN32_FIND_DATA FindFileData;  
 HANDLE hFind;
 strcpy(szFind,lpPath);  
 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,lpPath);  
    strcat(szFile,"\\");  
    strcat(szFile,FindFileData.cFileName);  
    find(szFile);  
   }  
  }  
  else  
  {  
   printf("%s\n",FindFileData.cFileName); 
  }  
  if(!FindNextFile(hFind,&FindFileData))  
   break;  
 }  
}  
void main()  
{  
 char filepath[MAX_PATH]="G:\\novel";  //可自己输入文件夹绝对路径 
 find(filepath);  
 system("PAUSE"); 
}

热心网友 时间:2022-04-06 16:35

什么叫纯C?
用C语言遍历文件肯定需要用到函数,标准C下貌似没有这个函数,但是使用VC的函数库可能可以实现,如果实在不行可以用第三方函数库,,,还不行的话用system("command");引用dos命令可以遍历,追问就是windows下 用c语言写的

追答http://tieba.baidu.com/p/261591546
这个我是在网上找的,不过我只会用
system("dir");
这个函数,就是system("");双引号中使用dos命令,如果第一个方法不行且你觉得第二种方法可用,就再追问吧

热心网友 时间:2022-04-06 18:26

http://my.csdn.net/qxlv15/code/detail/48451追问我想要windows下 用c语言写的

追答windows api就是用C写的,你调用它的api就可以了。很多操作你必须要调用平台相应的api才能实现相应的功能(是C代码,你用C编译器试试,#include )

热心网友 时间:2022-04-06 20:34

是在dos下写的吗追问不是 dos 使用c语言写的函数

追答C 调 DIR 命令

char cmd[] = "dir /ad /s /b";
system(cmd);

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
人民币贬值对人民有什么影响 长春市办理设立个人律师事务所需要什么材料? 学生签证的延期都需要以下材料: 米3手机套彩绘小米3彩膜 骑马与砍杀光明与黑暗泡菜编队方法 陈染相关作品介绍 万紫千红是指什么生肖,精准已答落实 十二生肖谁是万紫千红 手机里带的网络电视怎么联接到笔记本电脑上看呢? ...手机,电脑连上网了,智能电视能连上看电视吗,怎样能看智能电视_百度... 请教C语言如何遍历文本文件,比较取得其中想要的内容?(高分悬赏) 请教C语言如何遍历文本文件,比较取得其中想要的内容?(高分悬赏) c语言遍历d盘下有多少个文件? c语言遍历d盘下有多少个文件? C语言:如何遍历指定的文件夹(可以包括子文件夹)中的每一个文件名 C/C++编程遍历文件夹,统计当前文件个数,输出文件名 怎么用C语言编程遍历文件夹下所有文件名 如何用C实现遍历文件夹 怎么用C语言遍历文件啊? 曲面屏opporeno6 C# 遍历文件夹下所有子文件夹中的文件,得到文件名 C语言遍历目录中的文件 微信查找附近的人在网络畅通的情况下为什么老是在搜索中? 冰箱咕噜响有水声怎么回事? 电冰箱经常咕噜嘎啦,咕噜嘎啦的响,每次响十声左右,过一会,又重复的响... 海尔冰箱为什么老咕噜咕噜响,而且响的时间特别长 这是怎么回事啊_百度... 上海诺达佳自动化技术有限公司怎么样? 上海哪有java培训或者自动化测试培训的(达内太贵了) 上海工业自动化仪表研究院 在上海如何 上海自动化仪器仪表研究院检测所怎么样 在windows下 怎么用c语言遍历文件夹?要用纯c的 C语言遍历所有文件的函数! C语言遍历所有文件的函数! C语言如何实现遍历文件夹下的所有txt文件并在文件中搜索字符串 C语言如何遍历目录 (C++也可以) findfirst findnext怎么用? C语言如何遍历目录 (C++也可以) findfirst findnext怎么用? 如何用C代码遍历整个windows文件夹查找某个特定文件? 如何用C代码遍历整个windows文件夹查找某个特定文件? windows下使用C/C++怎么遍历目录并读取目录下的文件列表 windows下使用C/C++怎么遍历目录并读取目录下的文件列表 用C语言编出遍历出某个目录以及其子目录下所有以TXT为扩展名的文本文件... 用C语言编出遍历出某个目录以及其子目录下所有以TXT为扩展名的文本文件 C语言遍历目录 C语言遍历目录 c语言遍历如何输出 c语言遍历如何输出 C语言,遍历程序目录下txt文件,每查到一个把文件名和目前个数传给函 C语言,遍历程序目录下txt文件,每查到一个把文件名和目前个数传给函 枣夹核桃仁什么牌子好 做枣夹核桃用什么枣是最好的呢 华为p20现在实体店还有货吗?