Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    [C++] Passare file di testo come parametro

    Ciao a tutti, ho un nuovo problema, vorrei passare come parametro un file di testo dichiarato e aperto nella function X, alla function Y in modo che questa possa scrivere un valore che ricerca utilizzando file<<valore. Questa seconda funzione Y viene richiamata più volte dalla prima ed ogni volta deve andare ad aggiungere il valore trovato in cosa al file, alla fine la funziona x chiuderà il file.

    E possibile farlo o bisogna obbligatoriamente utilizzare una struttura di appoggio quale la lista?

    GRazie a tutti
    MondoLibero: Informazione Libera, Varia ed Eventuale
    Sito di informazione varia ed eventuale. Quando ho voglia scrivo di ciò che mi pare. Pubblico guide, recensioni, notizie, critiche e tutto ciò che mi passa sotto mano e che penso sia interessante.

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,465
    Non ho ben capito la difficolta' ... passa una stringa tramite il puntatore ... che problema c'è ?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Originariamente inviato da oregon
    Non ho ben capito la difficolta' ... passa una stringa tramite il puntatore ... che problema c'è ?
    Come faccio a modificare per esempio questo codice in modo che la funzione visita possa scrivere sul file outlista?

    codice:
    void visita(PAnodo a, int livello, int i, fstream outlista) {
    
    // Check Livello
    if (i == livello) {
    outlista<<a->key<<"\t";
    return;
    }
    // Incrementa contatore livello
    i++;
    // Visita Nodo Sinistro
    if (a->left != NULL)
    visita(a->left, livello, i,outlista);
    // Visita Nodo Destro
    if (a->right != NULL)
    visita(a->right, livello, i,outlista);
    }
    
    
    void pfileorder(PAnodo Tree){
         
        int num;
        cout<<"Salva Albero su FILE:"<<endl;
        string NomeLn,NomeOut;
        ifstream filista;
        ofstream outlista;
        NomeOut="albero1.txt";
        outlista.open(NomeOut.c_str());
        if(!outlista){
            cerr<<"Non si puo' aprire il file!"<<endl;
            system("pause");
        }
        
        for(int k=0;k<Altezza(Tree);k++)
        visita(Tree,k,0,outlista);
        
        outlista.close();
    }
    MondoLibero: Informazione Libera, Varia ed Eventuale
    Sito di informazione varia ed eventuale. Quando ho voglia scrivo di ciò che mi pare. Pubblico guide, recensioni, notizie, critiche e tutto ciò che mi passa sotto mano e che penso sia interessante.

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,465
    Non ho capito la relazione con il primo post ... ci provo ... forse deve essere

    void visita(PAnodo a, int livello, int i, ofstream &outlista)
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Originariamente inviato da oregon
    Non ho capito la relazione con il primo post ... ci provo ... forse deve essere

    void visita(PAnodo a, int livello, int i, ofstream &outlista)
    Forse mi ero spiegato male, io chiedevo per questo codice. Aggiungendo il riferimento, nella funzione pfileorder mi viene dato questo errore di compilazione:

    invalid initialization of reference of type 'std::fstream&' from expression of type 'std:fstream'
    in passing argument 4 of `void visita(Anodo*, int, int, std::fstream&)'
    MondoLibero: Informazione Libera, Varia ed Eventuale
    Sito di informazione varia ed eventuale. Quando ho voglia scrivo di ciò che mi pare. Pubblico guide, recensioni, notizie, critiche e tutto ciò che mi passa sotto mano e che penso sia interessante.

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,465
    Continuo a non capire ... perche' non ti spieghi piu' chiaramente?

    Hai adottato la modifica che ti ho suggerito?

    Adesso il codice che compili qual e'?

    In quale riga (il compilatore indica sempre la riga in cui c'e' il problema ... anche tu la devi indicare ...) viene evidenziato l'errore ?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    Originariamente inviato da oregon
    Continuo a non capire ... perche' non ti spieghi piu' chiaramente?

    Hai adottato la modifica che ti ho suggerito?

    Adesso il codice che compili qual e'?

    In quale riga (il compilatore indica sempre la riga in cui c'e' il problema ... anche tu la devi indicare ...) viene evidenziato l'errore ?
    Scusami, mi spiego:

    Allora, il codice che compilo è il precedente con la modifica che mi hai suggerito, ovvero:


    codice:
    void visita(PAnodo a, int livello, int i, fstream &outlista)
    La riga dove mi viene riportato l'errore è:

    codice:
    visita(Tree,k,0,outlista);
    della funzione pfileorder.


    Spero di essere stato un pò più chiaro nella spiegazione.
    MondoLibero: Informazione Libera, Varia ed Eventuale
    Sito di informazione varia ed eventuale. Quando ho voglia scrivo di ciò che mi pare. Pubblico guide, recensioni, notizie, critiche e tutto ciò che mi passa sotto mano e che penso sia interessante.

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,465
    Leggi meglio quello che ti avevo scritto ...

    void visita(PAnodo a, int livello, int i, ofstream &outlista)

    specialmente il grassetto ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  9. #9
    Originariamente inviato da oregon
    Leggi meglio quello che ti avevo scritto ...

    void visita(PAnodo a, int livello, int i, ofstream &outlista)

    specialmente il grassetto ...
    Ti ringrazio per l'aiuto e soprattutto anche per la pazienza, sono un pò stonato dal caldo, qui a Napoli oggi si sfiorano i 32 gradi, è un incubo già.


    Grazie ancora.
    MondoLibero: Informazione Libera, Varia ed Eventuale
    Sito di informazione varia ed eventuale. Quando ho voglia scrivo di ciò che mi pare. Pubblico guide, recensioni, notizie, critiche e tutto ciò che mi passa sotto mano e che penso sia interessante.

  10. #10
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,465
    Originariamente inviato da Skull260287
    qui a Napoli oggi si sfiorano i 32 gradi
    Anche a Roma non si scherza ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.