Ho provato a fare un programma penso simile a come dicevi tu MItaly,vedi se è giusto.
In poche parole ho semplicemente predisposto un array dinamico di una certa lunghezza N,se poi nel file è presente un array di lunghezza minore tutto bene e lo stampa altrimenti entra nell'if e ti avvisa che il file è più grande della dimensione che hai inserito,a quel punto incrementa N finchè non diventa uguale a riemp e a quel punto stampa l'array
codice:#include <iostream>#include <fstream> using namespace std; int main () { int n; int *vet; cout << "inserisci la dimensione "; cin >> n; vet = new int [n]; fstream miofile; miofile.open ("dati.txt",ios::in); int riemp = 0; while (!miofile.eof()) { miofile >> vet[riemp++]; } if (riemp>n) { cout << "attentione il file e' troppo grande\n\n"; while (riemp>n) { n = n + 1; } cout << "la dimensione del file e': " << n << "\n\n"; for (int i=0;i<riemp; i++) cout << vet[i]; } else { for (int i=0;i<riemp; i++) cout << vet[i]; } cout << "\n\n"; system("pause"); }

Rispondi quotando