编辑:我收到了错误。我需要在文件名前加上“books /”。
我正在从目录中读取文件名,然后逐个打开这些文件。
我读了文件并打印了它的内容。
我为此编写了一个C ++代码,但它无效。我无法在其中发现任何错误。
我做错了什么?
我的代码 -
#include <bits/stdc++.h>
#include <omp.h>
#include <dirent.h>
using namespace std;
int main(int argc, char* argv[]){
DIR *dirp;
struct dirent *dp;
if ((dirp = opendir("books")) == NULL) {
perror("couldn't open '.'");
return 0;
}
do {
errno = 0;
if ((dp = readdir(dirp)) != NULL) {
if(strlen(dp->d_name)>4){
string str;
int count=0;
ifstream in(dp->d_name);
//cout<<dp->d_name<<"....."<<endl;
while (!in.eof() && count<100) {
in >>str;
cout<<str;
count++;
}
in.close();
}
}
} while (dp != NULL);
if (errno != 0)
perror("error reading directory");
(void) closedir(dirp);
return 0;
}
编辑:我收到了错误。我需要在文件名前加上“books /”。