C++ 读取一个文件下所有文件的文件名

Windows:

#include<iostream>
#include<string>
#include <io.h>
void readFileNameInDir(IN string strDir, INOUT vector<string>& vFileFullPath)
{
       long handle;    //文件句柄
       struct _finddata_t fileInfo;    //文件结构体
       handle = _findfirst(strDir.c_str(), &fileInfo);    //第一次查找,获取文件句柄
       while (!_findnext(handle, &fileInfo))
       {
              vFileFullPath.push_back(fileInfo.name)
       }
       _findclose(handle);
}    //readFileNameInDir()

Linux:

#include <string>
#include <vector>
#include <dirent.h>

void readFileNameInDir(IN string strDir, INOUT vector<string>& vFileFullPath)
{
       struct dirent* pDirent;
       DIR* pDir = opendir(strDir.c_str());
       if (pDir != NULL)
       {
              while ((pDirent = readdir(pDir)) != NULL)
              {
                     string strFileName = pDirent->d_name;
                     string strFileFullPath = strDir + "/" + strFileName;
                     vFileFullPath.push_back(strFileFullPath);
              }
              vFileFullPath.erase(vFileFullPath.begin(), vFileFullPath.begin() +  2);    //前两个存储的是当前路径和上一级路径,所以要删除
       }
}    //readFileNameInDir()

原文地址:https://www.cnblogs.com/sinicheveen/p/12009831.html

时间: 2024-08-07 11:16:04

C++ 读取一个文件下所有文件的文件名的相关文章

python 读取一个目录下的所有目录和文件

觉着没事,应该学点东西.找到以前看过的python,试着做了个读取文件的程序.不管效果怎么,总算成功了. #!/usr/bin/python # -*- coding:utf8 -*- import os allFileNum = 0 def printPath(level, path): global allFileNum ''''' 打印一个目录下的所有文件夹和文件 ''' # 所有文件夹,第一个字段是次目录的级别 dirList = [] # 所有文件 fileList = [] # 返回

XStream互转String和XML,以及如何读取web的下的文件

在项目开发中有时要传输xm文件,要转换成字符串传输,而无法使用对象传输,所以要进行转换,所用进行总结下利用XStream进行string与XML对象之间的互转,以及在转换某一包下所有的类. XML文件的解析和创建,请参考:http://blog.csdn.net/oyyz111/article/details/22730983 首先,利用Spring的PathMatchingResourcePatternResolver进行某包下的class文件的读取,其中用ant的匹配模式,例如congfig

Python 读取某个目录下的文件

读取某个目录下的文件,如'/Users/test/test_kmls'目录下有test1.txt.test2.txt. 第一种方法读出的all_files是test1.txt.test2.txt 1 import os 2 3 kml_path=os.path.abspath('/Users/test/test_kmls') 4 all_files=os.listdir(kml_path) 5 for file in all_files: 6 print file 第二种方法可以获得文件的全路径

前两天有人问怎么取得一个目录下的文件,下面就是例子

<%@ Language=VBScript %> <% '================================================================ '函数名称:FileList '函数功能:列出目录下所有文件 '主要参数说明: '1--FolderUrl 虚拟路径 不可为空 '2----FileExName 文件扩展名 '函数返回值:收文记录 '====================================================

iOS案例:读取指定目录下的文件列表

// // main.m // 读取指定目录下的文件列表 // // Created by Apple on 15/11/24. // Copyright © 2015年 Apple. All rights reserved. // /* *读取指定目录下的文件列表 */ #import <Foundation/Foundation.h> void myQuickMethod(); int main(int argc, const char * argv[]) { //文件操作对象 NSFil

java读取某个目录下所有文件并通过el表达式将相关文件信息展示出来,js提供页面搜索及查看下载功能

从服务器上读取某个目录下的文件  将文件名 文件修改日期   及文件 大小展示在前台  并可以查看及下载 第一步:读取文件目录下的文件,并将文件按时间由大到小排列 public ArrayList<File> getLogs() { // TODO Auto-generated method stub ArrayList<File>  tomcatLogs = new ArrayList<File>(); File path = new File(""

Android项目中gen文件下R文件无法生成的解决的方法

帮一个网友解决R文件无法生成的问题,搜集了些材料特整理例如以下,刚開始学习的人參考他人代码时极易出现此种问题,一般都是xml文件出错,无法被正确解析. gen文件夹无法更新,或者gen文件夹下的R.JAVA文件无法生成 1.gen文件夹的用处 android gen文件夹下的R.java并非由用户创建,而是androidproject本身将android的资源进行自己主动"编号"(ID)值. 2.gen文件夹下R文件无法更新/生成的原因 1)res文件夹下的layout下的xml文件名

Android项目中gen文件下R文件无法生成的解决办法

帮一个网友解决R文件无法生成的问题,搜集了些材料特整理如下,初学者参考他人代码时极易出现此种问题,一般都是xml文件出错,无法被正确解析. gen目录无法更新,或者gen目录下的R.JAVA文件无法生成 1.gen目录的用处 android gen目录下的R.java并不是由用户创建,而是android工程本身将android的资源进行自动"编号"(ID)值. 2.gen目录下R文件无法更新/生成的原因 1)res目录下的layout下的xml文件名有错.按照android的命名规范是

Android工程文件下assets文件夹与res文件夹的区别

1.assets:不会在R.java文件下生成相应的标记,assets文件夹可以自己创建文件夹,必须使用AssetsManager类进行访问,存放到这里的资源在运行打包的时候都会打入程序安装包中, 2.res:会在R.java文件下生成标记,这里的资源会在运行打包操作的时候判断哪些被使用到了,没有被使用到的文件资源是不会打包到安装包中的. res/raw和assets文件夹来存放不需要系统编译成二进制的文件,例如字体文件等 在res文件夹下还可以定义一下目录: res/anim:这里存放的是动画

遍历文件下所有文件

1 _finddata_t file; 2 3 char* szFilePack="F:\\RTMFP\\measurement data\\ME4\\recursive2\\lossbyte\\*.txt"; 4 long lf; 5 if ((lf=_findfirst(szFilePack,&file))==-1)//==优先级较高所以要加括号,找到文件夹下面第一个符合的文件 6 { 7 cout<<"cannot find file"&l