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

di Anonimizzato27330 il
7 risposte
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

  • 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++ ?)
  • 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
  • La lettura e la listdir devono essere *dentro* al ciclo ... no?
  • 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?
  • 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
  • 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?
  • 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