Eseguire una listdir dandogli in input una path scritta su un file txt

di il
7 risposte

Eseguire una listdir dandogli in input una path scritta su un file txt

Mi servirebbe eseguire una listdir di questo tipo :

listdir("home/denis/scrivania/esercizio") 

Ma al posto della path, dovrei dargli un FILE.TXT che al suo interno ha la path, mi sono documentato molto ma non ho trovato niente, come posso fare?

7 Risposte

  • Re: Eseguire una listdir dandogli in input una path scritta su un file txt

    Leggi il FILE.TXT in una variabile stringa e passa la variabile ... mi sembra così banale che non mi pare possibile ...

    (Sicuro che stiamo parlando di C/C++ ?)
  • Re: Eseguire una listdir dandogli in input una path scritta su un file txt

    oregon ha scritto:


    Leggi il FILE.TXT in una variabile stringa e passa la variabile ... mi sembra così banale che non mi pare possibile ...

    (Sicuro che stiamo parlando di C/C++ ?)
    Grazie mille, ora funziona, riesco ad aprire la directory che gli passo tramite il file.txt, però se le directory all'interno del file, sono due o più, mi stampa quella nell'ultima posizione ripetuta n volte.
    Esempio, all'interno del file txt ho:
    
    home/denis/scrivania/esercizio
    home/denis/scrivania/università
    home/denis/scrivania/prova
    
    mi apre per 3 volte la directory home/denis/scrivania/prova, non riesco a capire perchè, il for in teoria dovrebbe aprirmele tutte e 3
  • Re: Eseguire una listdir dandogli in input una path scritta su un file txt

    La lettura e la listdir devono essere *dentro* al ciclo ... no?
  • Re: Eseguire una listdir dandogli in input una path scritta su un file txt

    oregon ha scritto:


    La lettura e la listdir devono essere *dentro* al ciclo ... no?
    Io ho fatto in un file la lettura delle directory con opendir, readdir e listdir, poi ho richiamato listdir nel main.c del mio programma, quindi nel mio for ho solamente
    
    for(int j = 0; j < numero_righe_file; j++){
    	listdir(percorso);
    	}
    
    Readdir ce l'ho sull'altro file. C'entra qualcosa con il problema?
  • Re: Eseguire una listdir dandogli in input una path scritta su un file txt

    Ovviamente sì.

    Nella for che hai scritto percorso è sempre lo stesso, non credi? Quindi userà sempre lo stesso percorso tante volte quante sono le righe.

    Devi avere un array di percorsi per poter passare alla listdir percorso[j]

    Oppure la listdir va fatta mentre leggi l'elenco dei percorsi

    Mostra il resto del codice
  • Re: Eseguire una listdir dandogli in input una path scritta su un file txt

    oregon ha scritto:


    Ovviamente sì.

    Nella for che hai scritto percorso è sempre lo stesso, non credi? Quindi userà sempre lo stesso percorso tante volte quante sono le righe.

    Devi avere un array di percorsi per poter passare alla listdir percorso[j]

    Oppure la listdir va fatta mentre leggi l'elenco dei percorsi

    Mostra il resto del codice
    Quindi se faccio un array di char e gli passo dentro percorso funziona? Oppure devo fare in modo che percorso diventi un array?
  • Re: Eseguire una listdir dandogli in input una path scritta su un file txt

    Se con path intendi quello che chiami percorso, come ti ho già detto, percorso deve essere un array di stringhe ... percorso è un array di char e deve diventare un array di stringhe.

    Ma puoi mostrare il resto del codice o no?
Devi accedere o registrarti per scrivere nel forum
7 risposte