我正在嘗試從文件夾中讀取所有txt文件,包括使用C++選定文件夾的子目錄中的txt文件。如何讀取文件夾中的所有txt文件? (包括子文件夾)
我實現了該程序的一個版本,它讀取特定文件夾中的所有文本文件,但不會迭代到所有子文件夾。
#include "stdafx.h"
#include <iostream>
#include <fstream>
#include <iterator>
#include <string>
#include <dirent.h>
using namespace std;
int main() {
DIR* dir;
dirent* pdir;
dir = opendir("D:/"); // open current directory
int number_of_words=0;
int text_length = 30;
char filename[300];
while (pdir = readdir(dir))
{
cout << pdir->d_name << endl;
strcpy(filename, "D:/...");
strcat(filename, pdir->d_name);
ifstream file(filename);
std::istream_iterator<std::string> beg(file), end;
number_of_words = distance(beg,end);
cout<<"Number of words in file: "<<number_of_words<<endl;
ifstream files(filename);
char output[30];
if (file.is_open())
{
while (!files.eof())
{
files >> output;
cout<<output<<endl;
}
}
file.close();
}
closedir(dir);
return 0;
}
我應該修改該程序以在所選文件夾的子文件夾中搜索txt文件嗎?
,看一下[提高文件系統(http://www.boost.org/doc/libs/1_56_0/libs/filesystem/doc/tutorial。 HTML) – 2014-10-17 08:50:22