Rimuovere file out - chiarimento

di il
5 risposte

Rimuovere file out - chiarimento

Salve a tutti, ho dei problemi a rimuovere dei file .txt creati dal mio programma.
In particolare, nella directory _RISULTATI, vengono memorizzati 3 file, nel modo seguente:
per il primo:
      fileName.Format("_RISULTATI/FRACTSOL/FractSol%d.txt", i+1);
per il secondo:
	fileName.Format("_RISULTATI/FRACTSOL/OtherSol.txt");
per il terzo:
	fileOut.Format("%s/FileOut_%d_%0.6f.txt", dir, iter,tempo);
Ora, per eliminarli ho creato 3 funzioni:
void RemoveFile(const char* path)
{
   int i=0, res;
   do { 
      CString fileName; // Manca il percorso
      fileName.Format("%s.txt", path, i);
      res = remove( fileName );
      i++; 
   }  while (res==0);
}
void RemoveFileTwo(const char* path)
{
	int i = 0, res;
	do {
		CString fileName; // Manca il percorso
		fileName.Format("%s_%d_%0.6f.txt", path, i);
		res = remove(fileName);
		i++;
	} while (res == 0);
}

void RemoveFileThree(const char* path)
{
	int i = 0, res;
	do {
		CString fileName; // Manca il percorso
		fileName.Format("%s%d.txt", path, i);
		res = remove(fileName);
		i++;
	} while (res == 0);
}
successivamente:
bool TGeoProblem::EraseSolutionFiles()
{

   RemoveFileThree("_RISULTATI/FRACTSOL/FractSol");
   RemoveFile("_RISULTATI/FRACTSOL/OtherSol");
   RemoveFileTwo("_RISULTATI/OUT/FileOut");

   
   return true;
}
il problema è che mentre OtherSol si elimina, gli altri file .txt non si eliminano e continuano a restare anche dopo la chiamata alle funzioni RemoveFile. Sicuramente ho sbagliato vista la mia poca esperienza con il C. Qualcuno è in grado di aiutarmi?

5 Risposte

  • Re: Rimuovere file out - chiarimento

    Qui

    fileName.Format("%s.txt", path, i);

    mi sembra che manchi il %d
    Deve essere

    fileName.Format("%s%d.txt", path, i);

    In questo

    fileName.Format("%s_%d_%0.6f.txt", path, i);

    mi sembra manchi la variabile tempo (con i valori corretti)
  • Re: Rimuovere file out - chiarimento

    Ho provato, ma non sembra funzionare.
    Più semplicemente, esiste un modo per rimuovere tutto ciò che c'è in una cartella?

    grazie
  • Re: Rimuovere file out - chiarimento

    Nessuso riesce ad aiutarmi?
  • Re: Rimuovere file out - chiarimento

    Per rimuovere tutta la cartella devi costruire una funzione ricorsiva che visiti l'intero direttorio.

    Che cosa non funziona di preciso nella tua implementazione? Hai corretto gli errori suggeriti da oregon?
  • Re: Rimuovere file out - chiarimento

    Si, ma i file continuano a rimanere.
Devi accedere o registrarti per scrivere nel forum
5 risposte