私は今まで使ったことがありませんdirent.h
。istringstream を使用してテキスト ファイル (単数) を読み取っていましたが、ディレクトリ内の複数のテキスト ファイルを読み取るようにプログラムを修正する必要がありました。これは私がdirentを実装しようとしたところですが、うまくいきません。
多分私はstringstreamでそれを使うことができませんか? お知らせ下さい。
読みやすくするために、言葉でやっているふわふわのものを取り出しました。dirent.h のものを追加するまで、これは1 つのファイルに対して完全に機能していました。
#include <cstdlib>
#include <iostream>
#include <string>
#include <sstream> // for istringstream
#include <fstream>
#include <stdio.h>
#include <dirent.h>
void main(){
string fileName;
istringstream strLine;
const string Punctuation = "-,.;:?\"'!@#$%^&*[]{}|";
const char *commonWords[] = {"AND","IS","OR","ARE","THE","A","AN",""};
string line, word;
int currentLine = 0;
int hashValue = 0;
//// these variables were added to new code //////
struct dirent *pent = NULL;
DIR *pdir = NULL; // pointer to the directory
pdir = opendir("documents");
//////////////////////////////////////////////////
while(pent = readdir(pdir)){
// read in values line by line, then word by word
while(getline(cin,line)){
++currentLine;
strLine.clear();
strLine.str(line);
while(strLine >> word){
// insert the words into a table
}
} // end getline
//print the words in the table
closedir(pdir);
}