Lettura file

di il
4 risposte

Lettura file

Salve a tutti, sono alle prime armi con la programmazione in c++. È la prima volta che scrivo un programma di lettura da file e non riesco a capire perché dopo aver inserito il file da tastiera non succede praticamente nulla, spero tanto che possiate aiutarmi. Ho creato un file testo con una sequenza di numeri, di cui il primo dovrà essere il riempimento del vettore.
   #include <iostream>
#include <iomanip>
#include <fstream>
#include <stdlib.h>

using namespace std;

void myPause();
#define maxcarnomefile 20
#define dimvet 100

int main(){
   char nome_file[maxcarnomefile]="dati.txt";
   int riemp = 0;
   int vet[dimvet];
   fstream miofile;
   cout<<"Inserisci il nome del File: ";
   cin.get (nome_file, maxcarnomefile-1);
   miofile.open(nome_file, ios::in);
   if(!miofile){
   	    cout<<"\nImpossibile aprire il file "<<nome_file;
   	    exit(1);
   }
    riemp = 0;
    while(!miofile.eof()) 
	
	    miofile>>vet[riemp++];
    
	cout<<"\nGli elementi letti sono: "<<riemp;
	for(int i=0;i<riemp;i++){
	
	  cout<<"\nVet["<<setw(2)<<i<<"] = ";
	  cout<<setw(5)<<vet[i];
    }
   
   miofile.close();
   cout<<"\n\n\n";
   myPause();
}

void myPause()	
{
	std::cout<<"Premi invio per continuare...";
	std::cin.get(); 
	std::cin.get(); 
}    

4 Risposte

  • Re: Lettura file

    Il codice dovrebbe funzionare. Che vuol dire "non succede praticamente nulla"? Il file esiste? E' nella cartella giusta? Ha un contenuto?
  • Re: Lettura file

    Avevo sbagliato file. Grazie mille
  • Re: Lettura file

    In un programma realizzato dal prof in cui vengono letti da file testo i voti degli esami degli studenti, non riesco a capire perché non è indicata la modalità di accesso del file. Questo è un pezzo.... oppure devo riportare tutto il programma?
     void leggi(stringa filename, vettore v, int &r) { if stream f; 
    f.open(filename);
    if(!f)
    { cout <<"file non trovato";
    }
    else 
    .....
  • Re: Lettura file

    Se è un oggetto fstream viene aperto in lettura/scrittura
Devi accedere o registrarti per scrivere nel forum
4 risposte