21/07/11 19:03
anthony015
questa sarebbe una banale funzione che mi dovrebbe trasformare i caratteri letti da un file di numeri, in interi(ogni riga contiene un intero), nulla di difficile, ma all'esecuzione il programma crasha, per cui ho ritenuto opportuno debuggare per cercare di capire dove stava l'errore, soltanto che debuggando il programma non crasha e funziona come dovrebbe...
il codice è questo:
prova.txt contiene questo:
12
5
32
compilato con visual c++ 2010 e debuggato tramite visual studio 2010...
il codice è questo:
#include"stdafx.h" #include<cstdlib> #include<stdio.h> #include<ctype.h> #include<iostream> using namespace std; int _tmain(int argc, _TCHAR* argv[]) { FILE *input; char* datiLetti=new char[]; int interoLetto; int* intLetti=new int[]; input=fopen("prova.txt","r"); if(input) cout<<"Apertura avvenuta con successo\n\n"; else { cout<<"Errore nell'apertura del file!\n"; system("pause"); return(EXIT_FAILURE); } int indice=0; while(fgets(datiLetti,3,input)!=NULL) { interoLetto=atoi(datiLetti); if(interoLetto!=0) //ho fatto questa funzione perché dentro interoLetto mi trovavo degli 0 senza saperne il motivo(tanto nel file dal quale devo leggere i numeri sono tutti >0) { *(intLetti+indice)=interoLetto; indice++; } } for(int i=0;i<indice;i++) cout<<*(intLetti+i)<<endl; cout<<endl<<endl; system("pause"); }
prova.txt contiene questo:
12
5
32
compilato con visual c++ 2010 e debuggato tramite visual studio 2010...
aaa