Ciao a tutti,
sto tentando di fare un pgm semplicissimo che legga un file.
Il problema è che il file ha 5000 righe e il seguente codice me ne legge solo 99, e solo le ultime 99, c'è forse un limite nella lettura dei file e si blocca automaticamente?
#include <stdio.h>// lib per stampa a console
#include <iostream.h>
#include <stdlib.h> //per exit
int main(int argc, char *argv[])
{
//leggo file in C
FILE* contenitoreFile;
char riga[130];
char * nomeFile = "D:\\Data\\prova.obj";
contenitoreFile = fopen(nomeFile, "r");
if (!contenitoreFile)
{
cout << "Impossibile aprire il file: " << nomeFile << "\n";
exit(1);
}
int i = 1;
//leggo il file
//fscan legge input formattato
while(fscanf(contenitoreFile, "%s", riga) != EOF)
{
cout << "nel while: " << riga[0] << "\n";
switch(riga[0])
{
case '#': //commento
fgets(riga, sizeof(riga), contenitoreFile);
cout << "commento:" << riga << "\n";
break;
case 'v': //vertice
fgets(riga, sizeof(riga), contenitoreFile);
cout << "VERTIC:" << riga << "num:" << i << "\n";
break;
}
i++;
}
return 0;
}
Aiutooo non riesco a capire, cos'è che sbaglio??
perchè non legge tutte le righe del file partendo dalla prima? invece parte dalle ultime 99??
Spero nel vostro consiglio..
ciao barocca