aiuto plz

  • Creatore Discussione Creatore Discussione Eurisko
  • Data di inizio Data di inizio

Eurisko

Nuovo Utente
19 Feb 2005
2
0
0
ciao a tutti
avrei un paio di domandine
Allora dovrei fare un exe che una volta avviato controlli il contenuto della cartella dove si trova e memorizzi il nome dei file contenuti,
poi dovrebbe aprire tutti i file tranne l'exe e stampare il contenuto
in un foglio o a video.

source:

#include <stdio.h>
#include <sys/types.h>
#include <dirent.h>
#include <sys/stat.h>
#include <iostream>
#include <fstream>
#include <string>
#include <string.h>

using namespace std;

int main()
{

char c,buf[50];
memset( buf, '\0', 50 );
ifstream is;
DIR *dir;
struct dirent *filename;

dir = opendir(".");
while((filename = readdir(dir)) != NULL)
{

string str =filename->d_name;
str.copy( buf, 50);
is.open (buf); // open file
if (is.is_open())
{
cout << "File successfully open "<< buf <<"\n";

while (is.good()) // loop while extraction from file is possible
{
c = is.get(); // get character from file
cout << c;

}

system("PAUSE");

is.close(); // close file
}
else
{
cout << "Error opening file "<< buf <<"\n";
}
}
}


il problema praticamente è che mi apre il file ma nn mi funziona is.good e quindi nn è in grado di estrarmi i dati
però se in is.open metto manualmente il nome del file da aprire tutto funziona. Deve esserci qlc errore quando ho usato il buf ma nn so come altro fare se quando apro il file ci metto direttamente (filename->d_name) mi apre il file ma come prima
nn riesce ad estrarre il contenuto.
AIUTO plz
 

Discussioni simili