完全なコードで編集:
int filename_extract(){
DIR *pDIR;
struct dirent *entry;
string file;
try{
if((pDIR=opendir("/home/xxx/Documents/enron_mail_20110402/maildir/allen-p/all_documents")) != NULL){
while((entry = readdir(pDIR))!=NULL){
if( strcmp(entry->d_name, ".") != 0 && strcmp(entry->d_name, "..") != 0 ){
file = entry->d_name;
cout << file << " "; // Doesn't print anything
}
}
closedir(pDIR);
}
}catch(exception &e){
cout << "Error occured in filename_extract function " << e.what() << endl;
}
return 0;
}
しかし、 entry->d_name はディレクトリからのファイル名を保存しておらず、/home/xxx/Documents/enron_mail_20110402/maildir/allen-p/all_documents
フォルダーにはプレーンテキストドキュメントタイプのファイルが含まれています。
1.
2.
3.
4.
....
648.
正しく動作しないのはなぜですか? どこで間違っているのでしょうか?