在windows下 怎么用c语言遍历文件夹?要用纯c的
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在windows下 怎么用c语言遍历文件夹?要用纯c的相关的知识,希望对你有一定的参考价值。
希望能给出 详细代码
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;
参考技术A #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");
参考技术B 什么叫纯C?
用C语言遍历文件肯定需要用到函数,标准C下貌似没有这个函数,但是使用VC的函数库可能可以实现,如果实在不行可以用第三方函数库,,,还不行的话用system("command");引用dos命令可以遍历,追问
就是windows下 用c语言写的
追答http://tieba.baidu.com/p/261591546
这个我是在网上找的,不过我只会用
system("dir");
这个函数,就是system("");双引号中使用dos命令,如果第一个方法不行且你觉得第二种方法可用,就再追问吧
我想要windows下 用c语言写的
追答windows api就是用C写的,你调用它的api就可以了。很多操作你必须要调用平台相应的api才能实现相应的功能(是C代码,你用C编译器试试,#include )
本回答被提问者采纳 参考技术D 是在dos下写的吗追问不是 dos 使用c语言写的函数
追答C 调 DIR 命令
char cmd[] = "dir /ad /s /b";
system(cmd);
windows下怎么用C语言读取串口里的数据?
买了个gps模块接在USB口上 插在电脑上 怎么用c语言把串口里的数据读出来保存到文件中
参考技术A Windows下的语言读取串口的数据,可以通过USB的一些特定连接。 参考技术B Windows下的语言读取串口的数据,可以通过USB的一些特定连接。以上是关于在windows下 怎么用c语言遍历文件夹?要用纯c的的主要内容,如果未能解决你的问题,请参考以下文章