Lettura file

di Anonimizzato25223 il
4 risposte
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

  • Il codice dovrebbe funzionare. Che vuol dire "non succede praticamente nulla"? Il file esiste? E' nella cartella giusta? Ha un contenuto?
  • Avevo sbagliato file. Grazie mille
  • 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 
    .....
  • Se è un oggetto fstream viene aperto in lettura/scrittura
Devi accedere o registrarti per scrivere nel forum
4 risposte