博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
c++--------获取某个路径下所有文件的文件名,读写TXT文件到新的文件
阅读量:4619 次
发布时间:2019-06-09

本文共 2483 字,大约阅读时间需要 8 分钟。

好久没写io操作了,手生了好多,为了防止自己老年痴呆,最简单实用的c++代码也push上来吧,

环境:mac,xcode(注意mac环境下Windows的函数不能用)

功能:打开一个文件目录,把所有文件名读取到一个TXT文件中

#include 
#include
#include
#include
#include
#include
#include
#include
using namespace std;int readfiledir(){ struct dirent *ptr; DIR *dir; string PATH = "/Users/anitafang/Downloads/Datasets/300W/300w/01_Indoor"; dir=opendir(PATH.c_str()); vector
files; cout << "文件列表: "<< endl; while((ptr=readdir(dir))!=NULL) { //跳过'.'和'..'两个目录 if(ptr->d_name[0] == '.') continue; //cout << ptr->d_name << endl; files.push_back(ptr->d_name); } //写入TXT文件 ofstream outfile; outfile.open("/Users/anitafang/Downloads/Datasets/300W/300w/01_Indoor/list111.txt", ofstream::app); //myfile.bat是存放数据的文件名 for (int i = 0; i < files.size(); ++i) { if(outfile.is_open()) { outfile<
<

 

评说:Windows底下操作更简单,还可以筛选某一类的文件名,比如图像等,见链接:

//获取特定格式的文件名  void GetAllFormatFiles( string path, vector
& files,string format) { //文件句柄 long hFile = 0; //文件信息 struct _finddata_t fileinfo; string p; if((hFile = _findfirst(p.assign(path).append("\\*" + format).c_str(),&fileinfo)) != -1) { do { if((fileinfo.attrib & _A_SUBDIR)) { if(strcmp(fileinfo.name,".") != 0 && strcmp(fileinfo.name,"..") != 0) { //files.push_back(p.assign(path).append("\\").append(fileinfo.name) ); GetAllFormatFiles( p.assign(path).append("\\").append(fileinfo.name), files,format); } } else { files.push_back(p.assign(path).append("\\").append(fileinfo.name) ); } }while(_findnext(hFile, &fileinfo) == 0); _findclose(hFile); } }

 

int main()  {      string filePath = "testimages\\water";        vector
files; char * distAll = "AllFiles.txt"; //读取所有的文件,包括子文件的文件 //GetAllFiles(filePath, files); //读取所有格式为jpg的文件 string format = ".jpg"; GetAllFormatFiles(filePath, files,format); ofstream ofn(distAll); int size = files.size(); ofn<
<

 

第二:打开文件,然后读出特定的某几行到新的文件中,用GetLine可以一行行读取文件信息。

//生成两个TXT文件分别存储png图像名和TXT图像名void genfilename(){    cout<<"begin"<

 

转载于:https://www.cnblogs.com/Anita9002/p/7122135.html

你可能感兴趣的文章
随我的记
查看>>
NOIP2009提高组解题报告【2017.3.25更新】
查看>>
maven中的mirrors
查看>>
java第三次作业
查看>>
HP Jack介绍
查看>>
敏捷软件开发(3)---COMMAND 模式 & Active Object 模式
查看>>
常量与运算
查看>>
Python 04--迭代器、装饰器、软件开发规范
查看>>
poj 1062 昂贵的聘礼 解题报告
查看>>
java 集合
查看>>
lnmp 安装yarn
查看>>
JQuery ui 实现类似于confirm的功能
查看>>
设计模式学习--Factory Method
查看>>
灰度值和强度值概念
查看>>
汇编语言 第五章
查看>>
js对象-demo
查看>>
数据包发布到正式库方法
查看>>
ASP.NET Core小技巧
查看>>
Makefile (主要讲解的函数不错) 备用
查看>>
【硬件设计】ESD器件在保护电路中的应用(转载于周立功网站)
查看>>