findnextfile函数(FindFirstFile和FindNextFile查找文件的顺序问题)

2024-07-05 22:32:55 269

findnextfile函数(FindFirstFile和FindNextFile查找文件的顺序问题)

本文目录

FindFirstFile和FindNextFile查找文件的顺序问题


具体我也不是很清楚,但是你先用findfiirst再用findnext是可以遍历文件夹下所有的,而且我这边是顺序的,下面是一个实例

#include 《stdio.h》
#include 《io.h》

int main (void)
{
    _finddata_t fileDir;
    char *dir=“d:\\chn\\*.*“;
    long lfDir;
    if((lfDir = _findfirst(dir,&fileDir))==-1l)
        printf(“No file is found\n“);
    else{
        printf(“file list:\n“);
        do{
            printf(“%s\n“,fileDir.name);
        }while( _findnext( lfDir, &fileDir ) == 0 );
    }
    _findclose(lfDir);
    return 0;
}

c++中findfirstfile函数的使用


#include “windows.h“

BOOL FileMove(TCHAR *pPath,TCHAR *pToPath);

int APIENTRY WinMain(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                     LPSTR     lpCmdLine,
                     int       nCmdShow)
{
    FileMove(TEXT(“C:\\Program Files“),TEXT(“C:\\MyFile“)); 
 return 0;
}
BOOL FileMove(TCHAR *pFromPath,TCHAR *pToPath) 
{
 WIN32_FIND_DATA FindData;
 HANDLE hFile;
 TCHAR szFilePathName;
 TCHAR szFullPathName;
 
 lstrcpy(szFilePathName,pFromPath);
 lstrcat(szFilePathName,TEXT(“\\*.*“));

 hFile=FindFirstFile(szFilePathName,&FindData);

 if(hFile==INVALID_HANDLE_VALUE)
 {
  return FALSE;
 }

 while(TRUE)
 {
  if(FindData.cFileName!=TEXT(’.’))
  {
   wsprintf(szFullPathName,TEXT(“%s\\%s“),pFromPath,FindData.cFileName);

   if(FindData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
   {
    TCHAR szToPath;
    wsprintf(szToPath,TEXT(“%s\\%s“),pToPath,FindData.cFileName);
    CreateDirectory(szToPath,NULL);
    FileMove(szFullPathName,szToPath); 
   }
   else
   {
    TCHAR szFilePath;
    wsprintf(szFilePath,TEXT(“%s\\%s“),pToPath,FindData.cFileName);
    CopyFile(szFullPathName,szFilePath,TRUE);
   }
  }

  if(!FindNextFile(hFile,&FindData))
  {
   break;
  }
 }
 FindClose(hFile);

 return TRUE;
}

API FindNextFile的具体用法及举例


/*直接可以编译 你可以修改一下目录 (“E:\\enumfile\\*.*“,注意双杠*/
#include 《windows.h》
void main()
{
WIN32_FIND_DATA FindFileData;
HANDLE FileHandle;
FileHandle=FindFirstFile(“E:\\enumfile\\*.*“,&FindFileData);
puts(FindFileData.cFileName);
while(FileHandle!=INVALID_HANDLE_VALUE)
{
FindNextFile(FileHandle,&FindFileData);
puts(FindFileData.cFileName);
if( GetLastError() == ERROR_NO_MORE_FILES ) break;
}
}

findnextfile 如何知道是最后一个文件


给你一段vc2005帮助里面的代码
#define _WIN32_WINNT 0x0501
#include 《windows.h》
#include 《string.h》
#include 《stdio.h》
int main(int argc, char *argv)
{
WIN32_FIND_DATA FindFileData;
HANDLE hFind = INVALID_HANDLE_VALUE;
char DirSpec[MAX_PATH]; // directory specification
DWORD dwError;
printf (“Target directory is %s.\n“, argv);
strncpy (DirSpec, argv, strlen(argv)+1);
strncat (DirSpec, “\\*“, 3);
hFind = FindFirstFile(DirSpec, &FindFileData);
if (hFind == INVALID_HANDLE_VALUE)
{
printf (“Invalid file handle. Error is %u\n“, GetLastError());
return (-1);
}
else
{
printf (“First file name is %s\n“, FindFileData.cFileName);
while (FindNextFile(hFind, &FindFileData) != 0)
{
printf (“Next file name is %s\n“, FindFileData.cFileName);
}

dwError = GetLastError();
FindClose(hFind);
if (dwError != ERROR_NO_MORE_FILES)
{
printf (“FindNextFile error. Error is %u\n“, dwError);
return (-1);
}
}
return (0);
}

FindFirstFile和FindnextFile配合查找目录下全部文件的问题


典型的用法是:
FILE_INFO info;
HANDLE h=FindFirstFile(“C:\\*.*“,&info);
do
{
...
}while(FindNextFile(h,&info));
CloseHandle(h);

MFC中的CFindFile有个FindNextFile()函数


你是要寻找文件的例子吧

给你个例子

删除文件夹

删除文件夹你在cmd里面删除试试,他会提示文件夹不为空不能删除。意思就是必须先删除文件夹里面的文件再删除文件夹

删除文件夹里面的文件,就要用到寻找所有文件,包括文件夹里面的文件夹(子文件夹)

*************************************************

函数名称:BianLiDel

函数功能:删除目录下所有文件,最后删除文件夹

返回值:成功返回TRUE 失败返回FALSE

************************************************

//以下是宽字节用法

//窄字节替换函数char sprintf strcmp 去掉_T()

//C:\文件夹\WenJianJia\ 

//这时候会删除WenJianJia这个目录

BOOL  BianLiDel(wchar_t *path)

{

        wchar_t D_Path[MAX_PATH]={0};

        wsprintfW(D_Path,_T(“%s*.*“),path);//在文件名后面加上*.*,输入C:\文件夹\WenJianJia\就会变成C:\文件夹\WenJianJia\*.*

        WIN32_FIND_DATA  wfd;//定义一个结构体

        ZeroMemory(&wfd,sizeof(WIN32_FIND_DATA));//清空结构体

        HANDLE fhn = FindFirstFile(D_Path,&wfd);//寻找第一个文件

        BOOL bRet = TRUE;//如果第一个文件找到了就进入循环

        while (bRet)

        {

                wchar_t tem[MAX_PATH]={0};

                if (wfd.dwFileAttributes==FILE_ATTRIBUTE_DIRECTORY&&_wcsicmp(_T(“.“),wfd.cFileName)!=0&&_wcsicmp(_T(“..“),wfd.cFileName)!=0)

                {        //判断是否为目录 判断文件夹名字是否为’.’和’..’

                        wsprintfW(tem,_T(“%s%s\\“),path,wfd.cFileName);

                        BianLiDel(tem);//是目录就删除目录下的文件

                }else{

                        wsprintfW(tem,_T(“%s%s“),path,wfd.cFileName);

                        SetFileAttributes(tem,FILE_ATTRIBUTE_NORMAL);

                        DeleteFile(tem);//不是就删除文件

                }

                ZeroMemory(&wfd,sizeof(WIN32_FIND_DATA));//清空结构体

                bRet = FindNextFile(fhn,&wfd);//寻找下一个文件

        }

        FindClose(fhn);//如果不关闭会一直提示被占用

        return RemoveDirectory(path);//删除目录

}


findnextfile函数(FindFirstFile和FindNextFile查找文件的顺序问题)

本文编辑:admin

更多文章:


perl数字处理(使用perl语言,对很大量的数字进行归类)

perl数字处理(使用perl语言,对很大量的数字进行归类)

本文目录使用perl语言,对很大量的数字进行归类怎么用perl 提取文本中的数字perl如何想文件中写入位数不足左边补零的数字请教perl语言中全角数字转换成半角数字的问题perl 有关数字处理的问题(正则表达式)perl基础 perl 中

2024年6月9日 16:51

setupnotice是什么意思(thinkbook装完系统显示setupnotice)

setupnotice是什么意思(thinkbook装完系统显示setupnotice)

本文目录thinkbook装完系统显示setupnoticeSetup+Notice+Default+Boot+Dev联想笔记本电脑出现setup notice联想笔记本开机显示setup Notice 怎么样才可以解决thinkbook装

2024年7月19日 18:25

sql必知必会讲课视频(sql必知必会)

sql必知必会讲课视频(sql必知必会)

本文目录sql必知必会SQL必知必会(SQL99连接(JOIN))SQL必知必会的编辑推荐sql必知必会《SQL必知必会》(第3版)SQL是目前使用最为广泛的数据库语言之一。本书没有涉及理论,而是从实践出发,由浅入深地讲解了广大读者所必需的

2024年7月23日 10:32

完善while循环语句(C语言while 循环语句)

完善while循环语句(C语言while 循环语句)

本文目录C语言while 循环语句C语言While循环语句,请高手帮我修改C语言While循环语句,C语言 while循环语句C语言while 循环语句void main(){ int sum=0; int i=100; while (i)

2024年7月23日 01:32

countifs和sum套用(excel countif函数与sumif函数)

countifs和sum套用(excel countif函数与sumif函数)

本文目录excel countif函数与sumif函数如何同时使用countifs和sum计算数值excel countif函数与sumif函数有2个条件,countif和sumif做不了,可以用countifs和sumifs来做。coun

2024年7月22日 10:10

pip下载官网(python如何安装ffn包)

pip下载官网(python如何安装ffn包)

本文目录python如何安装ffn包急!!python的pip怎么安装怎么装pipPython中如何安装pippip下载库超时是什么原因新手求助,mac下终端里无法运行ipython,已用pip安装,请问怎么解决python如何安装ffn包

2024年7月24日 16:04

representatives怎么读(representative不会读怎么办)

representatives怎么读(representative不会读怎么办)

本文目录representative不会读怎么办representatives怎么读representative ; seriously ; permanently这英语用谐音怎么读representative不会读怎么办represent

2024年7月23日 09:59

mplayer安卓版(mplayer精简版与完整版区别)

mplayer安卓版(mplayer精简版与完整版区别)

本文目录mplayer精简版与完整版区别mplayer哪个版本最好呀mplayer精简版与完整版区别mplayer有很多版本,官方编译版都是分着的,而且很少发布新版。MPUI、smplayer、mplayer-ww都有多种下载,总的来说就是

2024年6月28日 04:36

w3cshool display(为什么我对div设置了display:inline;却还是不能让多个div显示在同一行内呢)

w3cshool display(为什么我对div设置了display:inline;却还是不能让多个div显示在同一行内呢)

本文目录为什么我对div设置了display:inline;却还是不能让多个div显示在同一行内呢html中分割线怎么写 w3school为什么我对div设置了display:inline;却还是不能让多个div显示在同一行内呢内联元素只能

2024年7月22日 08:50

数据库行业前景怎么样(学数据库的发展前景怎么样)

数据库行业前景怎么样(学数据库的发展前景怎么样)

本文目录学数据库的发展前景怎么样想学数据库的发展前景怎么样学数据库的发展前景怎么样学数据库的发展前景广阔,但是,任何行业都是存在二八定律,如果不能成为顶尖的水平,行业发展前景广阔,也不一定会让个人有更多的收获。想学数据库的发展前景怎么样学数

2024年7月8日 07:17

jdk16环境变量配置(如何配置jdk1.6的环境变量)

jdk16环境变量配置(如何配置jdk1.6的环境变量)

本文目录如何配置jdk1.6的环境变量jdk1.6的环境变量怎么配置啊jdk环境变量怎么配置关于JDK环境变量配置的问题安装好jdk1.6.0_16后,如何设置环境变量如何配置jdk1.6的环境变量环境变量的配置: 1):永久配置方式

2024年6月27日 11:27

for(char c:chars)是什么意思?chars的意思

for(char c:chars)是什么意思?chars的意思

本文目录for(char c:chars)是什么意思chars的意思for(char c:chars)是什么意思这个和foreach的for循环一样的,也就是遍历这里的for(char c:chars)就是定义一个遍历字符c,让它分别等于字

2024年7月15日 05:09

js特效怎么在vs里打开(jquery 怎么用哦 怎么把它导入到vs中去呢)

js特效怎么在vs里打开(jquery 怎么用哦 怎么把它导入到vs中去呢)

这篇文章给大家聊聊关于js特效怎么在vs里打开,以及jquery 怎么用哦 怎么把它导入到vs中去呢对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。本文目录jquery 怎么用哦 怎么把它导入到vs中去呢在VS中怎样调试JS代码vs2

2024年8月1日 21:15

c语言decimal类型(c#中decimal数据求绝对值)

c语言decimal类型(c#中decimal数据求绝对值)

这篇文章给大家聊聊关于c语言decimal类型,以及c#中decimal数据求绝对值对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。本文目录c#中decimal数据求绝对值请教sybase数据库C语言CT Library 如何绑定de

2024年7月26日 06:15

企业网站管理名词解释(企业战略管理名词解释有哪些)

企业网站管理名词解释(企业战略管理名词解释有哪些)

本文目录企业战略管理名词解释有哪些《企业运营管理》名词解释(急)企业管理的概念企业的信息管理名词解释什么是网站运营管理电子商务网站栏目的名词解释企业管理名词解释什么是网站管理最好说得详细一点,也可以举例说明名词解释企业管理企业战略管理名词解

2024年6月26日 00:01

differentiated(英语翻译differentiate是个动词吗区分的意思)

differentiated(英语翻译differentiate是个动词吗区分的意思)

本文目录英语翻译differentiate是个动词吗区分的意思什么是Differentiateddifferentiated 和differential的区别英语翻译differentiate是个动词吗区分的意思对, 是动词。区分; 使不同

2024年6月27日 00:56

hot图标是什么(“淘宝卖的宝贝上面有一个hot标志 是什么意思”是真东西的可能性大吗)

hot图标是什么(“淘宝卖的宝贝上面有一个hot标志 是什么意思”是真东西的可能性大吗)

本篇文章给大家谈谈hot图标是什么,以及“淘宝卖的宝贝上面有一个hot标志 是什么意思”是真东西的可能性大吗对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏

2024年10月5日 04:21

主图设计网站(电商主图应该怎么设计)

主图设计网站(电商主图应该怎么设计)

各位老铁们好,相信很多人对主图设计网站都不是特别的了解,因此呢,今天就来为大家分享下关于主图设计网站以及电商主图应该怎么设计的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!本文目录电商主图应该怎么设计电商设计的网站有哪些

2024年9月8日 05:10

易语言做cf辅助需要什么(易语言做cf辅助需要什么组件大神请回答)

易语言做cf辅助需要什么(易语言做cf辅助需要什么组件大神请回答)

本文目录易语言做cf辅助需要什么组件大神请回答怎么用易语言写cf辅助我想用易语言制作辅助!需要学习写什么东西比如:Cheat Engine怎么用易语言做CF窗口化工具.需要什么工具易语言做cf辅助需要什么组件大神请回答简单的基本不需要组件,

2024年5月17日 07:22

城市搜索男装品牌简介(lisha是什么牌子男装)

城市搜索男装品牌简介(lisha是什么牌子男装)

本文目录lisha是什么牌子男装请大家为我详细的介绍一些Dior这个服装品牌谢谢!大陆市场上有哪些意大利的时尚休闲男装品牌高档男装品牌有哪些比ZARA质量好的西装品牌,都有哪些ST是什么品牌的男装lisha是什么牌子男装 lisha是什么牌

2024年7月5日 03:24

近期文章

本站热文

iphone vpn设置(ios设置vpn快捷开关)
2024-07-22 15:01:12 浏览:2342
windows12正式版下载(操作系统Windows Server 2012 R2,在哪能下载到,公司用的)
2024-07-20 17:26:53 浏览:1736
client mfc application未响应(每次进cf就提示client MFC Application未响应该怎么办啊!急急急)
2024-07-20 11:15:58 浏览:1168
java安装教程(win10如何安装JAVA)
2024-07-19 19:55:49 浏览:1164
标签列表

热门搜索