Apertura e Lettura da file testo

di il
4 risposte

Apertura e Lettura da file testo

Salve a tutti, devo realizzare un programma che dati 2 elenchi di nomi, li fonde creandone un terzo.
Ho fatto in modo che l'utente possa utilizzare 2 elenchi già esistenti, ma quando vado a fare la lettura del file l'ultima lettera viene ripetuta..
#include <iostream>
#include <fstream>
#define DIM 1000
using namespace std;
char leggo(char n_file[DIM],char finale[DIM]){
	ifstream il_file_lettura;
	int k=0,j=0;
	char i;
	char elenco[DIM];
	char valore[DIM];
	cout<<"Come si chiama il file da dove prendere i nomi?\n";
	cin>>elenco;
	cout<<"\nLEGGO IL FILE "<<elenco;
    il_file_lettura.open(elenco);
    if (il_file_lettura.is_open()){
            do{
				il_file_lettura>>i;
               	n_file[j]=i;
               	cout<<"Ho letto il valore "<<n_file[j]<<"\n";
               	j++;
            }while(!il_file_lettura.eof());
              il_file_lettura.close();       
        }

    else
        cout<<"\nATTENZIONE: NON RIESCO AD APRIRE IL FILE IN LETTURA!\n";
}
int main(){
	char n_file[DIM], finale[DIM], scelta;
	cout<<"Vuoi scrivere i dati su un file?\n";
	cin>>scelta;
	if(scelta=='s'){
		leggo(n_file,finale);
	}
	
}

4 Risposte

  • Re: Apertura e Lettura da file testo

    L'elenco di nomi è un esempio di come dovranno essere i 3 elenchi
  • Re: Apertura e Lettura da file testo

    Perché leggi carattere per carattere? Usa una stringa e leggi riga per riga.
  • Re: Apertura e Lettura da file testo

    In che senso scusa? Non ho mai pensato di leggere stringhe alla volta, mi sai dire come fare?
  • Re: Apertura e Lettura da file testo

    Cosa hai studiato di C/C++? Fra l'altro il codice è piuttosto confuso ... parti da queste linee di codice e modificalo secondo le tue necessità ... non uso parametri in ingresso né valori in uscita perché non ho capito che devi farci
    
    void leggo() {
    	ifstream il_file_lettura;
    	char nome[DIM];
    	char elenco[DIM];
    	cout << "Come si chiama il file da dove prendere i nomi?\n";
    	cin >> elenco;
    	cout << "\nLEGGO IL FILE " << elenco;
    	il_file_lettura.open(elenco);
    	if (il_file_lettura.is_open()) {
    		while(!il_file_lettura.eof())
    		{
    			il_file_lettura >> nome;
    			cout << "Ho letto " << nome << "\n";
    		} 
    		il_file_lettura.close();
    	}
    
    	else
    		cout << "\nATTENZIONE: NON RIESCO AD APRIRE IL FILE IN LETTURA!\n";
    }
    
Devi accedere o registrarti per scrivere nel forum
4 risposte