Lettura generico file

di il
5 risposte

Lettura generico file

Ciao ragazzi!
C'è un modo per aprire un file non sapendo a priori quale sia il nome?
Mi spiego meglio: usando il metodo .open() vorrei inserire una variabile al posto del nome di un file
myfile.open(nome_variabile, ios::in)
invece di
myfile.open("nome_file.txt", ios::in)

5 Risposte

  • Re: Lettura generico file

    Lo puoi fare se la variabile è di tipo "puntatore a char" e punta al nome del file da aprire.

    Puoi usare anche una std::string
  • Re: Lettura generico file

    Se ho capito bene:
    
    char* name_pointer;
    char name[20];
    ifstream myfile;
    *name_pointer = name;
    myfile.open(name_pointer, ios::in);
    
    
    Inoltre, non ho capito se devo fare la stessa cosa con la stringa oppure non servono i puntatori con essa.
  • Re: Lettura generico file

    **ovviamente:
    *name_pointer=&name
  • Re: Lettura generico file

    Name è già un puntatore quindi
    
    char name[20];
    ifstream myfile;
    ...
    myfile.open(name_pointer, ios::in);
    
    Naturalmente in name ci devi mettere il nome del file in qualche modo ...
  • Re: Lettura generico file

    Name ha un cast implicito a puntatore, ma è un array non un puntatore.

    Comunque non ha senso utilizzare minimamente un puntatore o una C-String quando hai std::string, come detto da oregon. Anzi, se arrivi a chiedere questo forse non hai capito cosa siano le variabili…
Devi accedere o registrarti per scrivere nel forum
5 risposte