Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17
  1. #1

    [C++] aprire file con classe

    Salve, stavo cercando di creare un metodo di una classe, che mi permetta di aprire un File.

    Io ho fatto nel seguente modo:
    codice:
    # include <iostream>
    # include <stdio.h>
    # include <fstream>
    # include <string>
    
    using namespace std;
    
    class File
    {
      
      void ApriFile(ofstream &flusso, string NomeFile)
      {
           ofstream flusso(NomeFile,ios::out); //errore
      }     
    };
    
    int main()
    {
        
        File A1;
        A1.ApriFile(write,"prova.txt");
        getchar();
    }
    ma mi da errore su quella riga:
    declaration of 'std:fstream flusso' shadows a parameter.

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Non e' chiaro a cosa tu voglia arrivare ... qualcosa del genere

    codice:
    class File
    {
    private:
    	ofstream flusso;
    
    public:
    	void ApriFile(string NomeFile)
    	{
    		flusso.open(NomeFile.c_str(), ios::out); 
    	}     
    };
    
    int main()
    {
        File A1;
        A1.ApriFile("prova.txt");
    
        return 0;
    }
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    volevo creare alcuni metodi, che mi permettono di gestire i File.

    Ad esempio, ho aggiunto anche il metodo GeneraID, che mi Genera L'ID dei record

    codice:
    # include <iostream>
    # include <stdio.h>
    # include <fstream>
    # include <string>
    # include <sstream> 
    
    using namespace std;
    
    class File
    {
     private:
    	ofstream flusso;
    
     public:
    	void ApriFile(string NomeFile)
    	{
    		flusso.open(NomeFile.c_str(), ios::out); 
    	}   
        
        void GeneraID(string NomeFile) 
        {
         int ID;
         ifstream trovaID("ID.txt",ios::in); //ID.txt file contentente il numero                                     // dell'ultimo ID inserito
         if (trovaID)
                  {
                   trovaID >> ID;
                   ID=ID+1;
                   trovaID.close();
                  } 
                  else
                  ID=1;    
         ofstream write(NomeFile.c_str(),ios::app); 
    
         stringstream s;       
         string ss;                   
         s << ID ;      
         ss = s.str();  
         ss.resize(5);  
         write <<ss;   
    
         write.close();
      
      // Aggiorna L'ID che viene scritto sul file ID.txt
         ofstream aggID("ID.txt",ios::out);  
         aggID << ID;    
         aggID.close();                    
        } 
    };
    
    int main()
    {
        File A1;
        A1.ApriFile("PROVA.txt");
        A1.GeneraID("PROVA.txt");
        return 0;
    }

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    E quindi ... ?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    e quindi???
    Ho risposto dato che tu avevi scritto:
    Non e' chiaro a cosa tu voglia arrivare ... qualcosa del genere


    Cmq in quel mio programmino, vorrei specificare anche con che modalita aprire il File.
    Mi spiego meglio:
    aprirlo in modalita append
    modalita di scrittura
    lettura


    come devo fare?

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Originariamente inviato da Salvatore_91
    e quindi???
    Ho risposto dato che tu avevi scritto:
    Non e' chiaro a cosa tu voglia arrivare ... qualcosa del genere
    Ok ... ma non ho capito (dato che non l'hai detto) se la cosa ti era servita e se era quello che cercavi ... comunque, non ha importanza ...

    come devo fare?
    Usa un altro argomento per il tuo metodo ApriFile
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    ok ,il problema e' proprio quello.

    Come posso specificare la modalita di apertura, passandolo ad un metodo di una classe.??

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Originariamente inviato da Salvatore_91
    Come posso specificare la modalita di apertura, passandolo ad un metodo di una classe.??
    Mi pare di averti risposto ... devi aggiungere un altro argomenti ... cosa non ti e' chiaro?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  9. #9
    non se se ho scritto bene:

    codice:
    class File
    {
     private:
    	ofstream flusso;
    
     public:
    	void ApriFile(string NomeFile, string metodo)
    	{
    		flusso.open(NomeFile.c_str(), metodo.c_str());  //qui errore
    	} 
    ..
    ..
    ..
    }
    
    int main()
    {
    File A1;
    A1.ApriFile("PROVA.txt","ios::app");
    }
    Mi da errore su la riga:
    no matching function for call to `std::basic_ofstream<char, std::char_traits<char> >:pen(const char*, const char*)'

  10. #10
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    La modalità di apertura non e' una stringa ...

    codice:
    void ApriFile(string NomeFile, int metodo)
    {
       flusso.open(NomeFile.c_str(), metodo);  
    }
    e quindi

    codice:
    A1.ApriFile("PROVA.txt", ios::app);
    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 © 2026 vBulletin Solutions, Inc. All rights reserved.