Lettura file c++

di il
13 risposte

Lettura file c++

Ciao, sono alle basi della programmazzione e sto facendo un'esercizio con i file per scuola. vorrei stampare a video il contenuto del file, questo è il codice che ho scritto ma non funziona

#include<iostream>
#include<fstream>
using namespace std;


int apriFile(char nomeFile[]);
void leggiFile(char nomeFile[], int*vettore, int riempimento);


int main(){
	
	int r;

	char nomeFile[] = "prova.txt";
	r = apriFile(nomeFile);
	
	int *v;
	v = new int [r];
	
	leggiFile(nomeFile, v, r);
	
	for(int i = 0; i < r; i++){
		cout<<v[i]<<"  ";
	}
	return 0;
}
int apriFile(char nomeFile[]){

	fstream a;
	int riempimento = 0;
	int i;
	a.open("prova.txt", ios::in);
	do{
	
		a>>i;
		riempimento ++;
	
	}while(a.eof());
	
	a.close();
	return riempimento;
}

void leggiFile(char nomeFile[], int*vettore, int riempimento){

	fstream a;  
	a.open("prova.txt", ios::in);
	for(int i = 0; i < riempimento; i++){
		a>>vettore[i];
	}
}



cosa c'è di sbagliato secondo voi?

13 Risposte

  • Re: Lettura file c++

    Che non hai letto il regolamento!
  • Re: Lettura file c++

    Utilizza i tag CODE bene altrimenti il codice non si legge
  • Re: Lettura file c++

    nicolap ha scritto:


    Che non hai letto il regolamento!
    avevo letto, ma avevo sbagliato ad inserire i tag. ora potresti darmi una mano?
  • Re: Lettura file c++

    oregon ha scritto:


    Utilizza i tag CODE bene altrimenti il codice non si legge
    ora va bene?
  • Re: Lettura file c++

    Sei sicuro che il file venga aperto correttamente? Lo cerchi nella cartella giusta? Visualizza i dati mentre li legge.

    P.S. e manca la chiusura dopo la lettura ma non è questo il problema...
  • Re: Lettura file c++

    oregon ha scritto:


    Sei sicuro che il file venga aperto correttamente? Lo cerchi nella cartella giusta? Visualizza i dati mentre li legge.

    P.S. e manca la chiusura dopo la lettura ma non è questo il problema...
    di solito i file li crea in automatico, ma questa volta non capisco perchè non lo ha fatto, ora funziona in parte. o meglio, riesco a capire dove sbaglio
  • Re: Lettura file c++

    simone.guidi_ ha scritto:


    di solito i file li crea in automatico, ma questa volta non capisco perchè non l'ho fatto, ora funziona in parte. o meglio, riesco a capire dove sbaglio
    A parte gli innumerevoli Syntax Errord di italiano, non fornisci informazioni sufficienti ad aiutarti:
    - errori? messaggi e posizione...
    - comportamenti strani? input e output...
    etc.
  • Re: Lettura file c++

    nicolap ha scritto:


    simone.guidi_ ha scritto:


    di solito i file li crea in automatico, ma questa volta non capisco perchè non l'ho fatto, ora funziona in parte. o meglio, riesco a capire dove sbaglio
    A parte gli innumerevoli Syntax Errord di italiano, non fornisci informazioni sufficienti ad aiutarti:
    - errori? messaggi e posizione...
    - comportamenti strani? input e output...
    etc.
    gli errori non sono segnalati dall'editor, semplicemente il programma non funziona come dovrebbe.
    Il file, visto che è una prova, ha questo contenuto 1 2 3 4 5, quindi l'output dovrebbe appunto essere 1 2 3 4 5, invece è 1.
    Spero di essermi spiegato
  • Re: Lettura file c++

    Deve essere

    while(!a.eof());

    E comunque la do... non è la migliore scelta per il ciclo.
  • Re: Lettura file c++

    oregon ha scritto:


    Deve essere

    while(!a.eof());

    E comunque la do... non è la migliore scelta per il ciclo.
    infatti la do{..} era rimasta dopo le varie prove
  • Re: Lettura file c++

    Quindi? Risolto? Capito?
  • Re: Lettura file c++

    oregon ha scritto:


    Quindi? Risolto? Capito?
    Si ho risolto, il programma funziona.
    Ora avrei un'altra domanda, devo creare un nuovo topic, giusto?
  • Re: Lettura file c++

    Esatto.
Devi accedere o registrarti per scrivere nel forum
13 risposte