c++读取去某文件下个所有文件,同时输出文件信息

主要参与函数:

_findfirst,_fiindNext, _findClose()


头文件:

 “io.h"

函数原型与功能:

   long __cdecl _findfirst(const char *, struct _finddata_t *)

   搜索与指定的文件名称匹配的第一个实例,若成功则返回第一个实例的句柄,否则返回-1L

  int __cdecl _findnext(long, struct _finddata_t *);

 搜索与_findfirst函数提供的文件名称匹配的下一个实例,若成功则返回0,否则返回-1

  BOOL FindClose(  HANDLE hFindFile );  // file search handle

  关闭FindFirstFile创建的搜索句柄

  参数说明:HANDLE hFindFile  FindFirstFile创建的句柄

返回值
调用成功 返回一个非0值
失败 返回0 可利用GetLastError来得到错误信息
程序实例:

#include "stdafx.h"
#include <iostream>
#include <io.h>
#include <string>


using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
_finddata_t file;  
    long longf;  
  
    //_findfirst返回的是long型; long __cdecl _findfirst(const char *, struct _finddata_t *)  
    if((longf = _findfirst("d://testFile//*.*", &file))==-1l)  
    {  
        cout<<"文件没有找到!/n";  
    }  
    else  
    {  
        cout<<"/n文件列表:/n";  
        //int __cdecl _findnext(long, struct _finddata_t *);如果找到下个文件的名字成功的话就返回0,否则返回-1  
        string tempName;  
        while( _findnext( longf, &file ) == 0 )  
        {  
            tempName = "";  
            tempName = file.name;  
            if (tempName == "..")  
            {  
                continue;  
            }  
  
            cout<<file.name;  
  
            if(file.attrib == _A_NORMAL)  
            {  
                cout<<"  普通文件  ";  
            }  
            else if(file.attrib == _A_RDONLY)  
            {  
                cout<<"  只读文件  ";  
            }  
            else if(file.attrib == _A_HIDDEN )  
            {  
                cout<<"  隐藏文件  ";  
            }  
            else if(file.attrib == _A_SYSTEM )  
            {  
                cout<<"  系统文件  ";  
            }  
            else if(file.attrib == _A_SUBDIR)  
            {  
                cout<<"  子目录  ";  
            }  
            else   
            {  
                cout<<"  存档文件  ";  
            }  
            cout<<endl;  
        }  
    }  
  
// 关闭由FindFirstFile函数创建的一个搜索句柄
    _findclose(longf);  


return 0;
}









 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值