Witam, piszę program, który musi mi wyświetlić listę katalogów. Działa dobrze jeśli w argumencie funkcji opendir wpiszę string/char ale jeśli zrobię tak jak poniżej, to już wywala błedami. Help.
//file_loader.h
using namespace std;
class File_Loader
{
public:
char File_name;
char File_directory;
int File_size;
void Set_directory(char File_directory)
{
this->File_directory = File_directory;
}
void Display_Books()
{
DIR * dir;
struct dirent *Folder;
dir = opendir(this->File_directory);
if(dir != NULL)
{
while(Folder = readdir(dir))
cout<<Folder->d_name<<endl;
closedir(dir);
}
else
{
cout<<"Nie mozna costam."<<endl;
}
}
};
//main.cpp
#include <iostream>
#include <string.h>
#include <math.h>
#include <dirent.h>
#include "file_loader.h"
using namespace std;
int main()
{
File_Loader * Loader = new File_Loader;
Loader->Set_directory("./");
delete(Loader);
return 0;
}
A błąd to
mateusz@mateusz-pc:~/Studia/C++/Projekt 1$ g++ main.cpp -o main
In file included from main.cpp:5:0:
file_loader.h: In member function ‘void File_Loader::Display_Books()’:
file_loader.h:19:37: error: invalid conversion from ‘char’ to ‘const char*’ [-fpermissive]
/usr/include/dirent.h:135:13: error: initializing argument 1 of ‘DIR* opendir(const char*)’ [-fpermissive]
main.cpp: In function ‘int main()’:
main.cpp:12:28: error: invalid conversion from ‘const char*’ to ‘char’ [-fpermissive]
file_loader.h:9:7: error: initializing argument 1 of ‘void File_Loader::Set_directory(char)’ [-fpermissive]
Pozdrawiam