Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2003
    Messaggi
    49

    [C++] mi legge solo 99 righe! e le altre?

    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

  2. #2
    Utente di HTML.it
    Registrato dal
    Jan 2003
    Messaggi
    49
    problema risolto, mettevo fscanf(contenitoreFile, "%s", riga) e mi toglieva dei dati oltre che a spazi...

    grazie ugualmente

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.