在网上找了一个读取文件夹下面的所有文件到txt的code 已验证

// aaa.cpp : 定义控制台应用程序的入口点。
//
#include   "StdAfx.h"
#include   <iostream>
#include   <io.h>
#include   <direct.h>
#include   <string>
#include   <vector>
#include   <iomanip>
#include   <ctime>
using   namespace   std;
void getFiles(string, vector<string>&);

int   main(int argc, char **argv)
{
	vector<string> files;
	FILE *fp = fopen("lujing.txt","w");
	getFiles("D:\\lfw\\lfw_5_POINT_112_96", files);
	// print the files get
	cout << files.size() << endl;
	for (int j = 0; j<files.size(); ++j)
	{
		fprintf(fp, "%s\n", files[j]);
		cout << files[j] << endl;
	}
	return   0;
	fclose(fp);
}
void getFiles(string path, vector<string>& files)
{
	//文件句柄
	long   hFile = 0;
	//文件信息
	struct _finddata_t fileinfo;
	string p;
	if ((hFile = _findfirst(p.assign(path).append("\\*").c_str(), &fileinfo)) != -1)
	{
		do
		{
			//如果是目录,迭代之
			//如果不是,加入列表
			if ((fileinfo.attrib &  _A_SUBDIR))
			{
				if (strcmp(fileinfo.name, ".") != 0 && strcmp(fileinfo.name, "..") != 0)
					getFiles(p.assign(path).append("\\").append(fileinfo.name), files);
			}
			else
			{
				files.push_back(p.assign(path).append("\\").append(fileinfo.name));
			}
		} while (_findnext(hFile, &fileinfo) == 0);
		_findclose(hFile);
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值