Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2009
    Messaggi
    11

    [C] come leggere determinate righe di un file

    Ciao a tutti,
    ho un file con tante righe.
    Ogni riga, dalla prima alla 22-esima, inizia con il carattere '#', mentre dalla 23-esima in poi ogni riga ha un numero.
    Io devo lavorare sui numeri dalla riga 23-esima in poi, saltando così le prime 22 righe.
    Qualcuno mi saprebbe dire come fare a saltare le prime 22 righe e partire dalla 23-esima?

    Grazie

  2. #2
    Utente bannato
    Registrato dal
    Feb 2004
    Messaggi
    2,803
    dato che si tratta di scorrere poche righe può andar bene un semplice for con fgets()

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2009
    Messaggi
    11
    Innanzitutto grazie per l'aiuto.

    Ho provato a fare come mi hai detto, e finalmente credo di aver aggirato il problema di scartare le prime 22 righe, perchè quando mando in esecuzione il codice non si blocca, facendo così:

    codice:
    FILE   *ingresso;
     int   size=10;
      int   zz;
      char   punt[20];
    
    
     for(zz=23; punt[zz]!='\0'; zz++) {
    
        
         while((fgets(punt, 10, ingresso))!=NULL){
     
    .
    .
    .
    .
         }
      }

    ora avrei un altro problema: devo fare delle operazioni sui numeri che trovo nel file dalla riga 23-esima fino all'ultima, e l'ultima riga è la 60.000 circa.
    credi o credete che facendo così arrivo a fine file correttamente?

  4. #4
    Utente bannato
    Registrato dal
    Feb 2004
    Messaggi
    2,803
    scusami hai scritto un codice che credo sia senza senso

    codice:
        FILE*in=fopen("input.txt","r");
        int i;
        for(i=0;i<23;i++)fgets(NULL,1,in);
    dopo aver eseguito questo ti trovi alla 23esima riga, quindi puoi cominciare a fare le operazioni che vuoi
    ricorda che per le operazioni aritmetiche devi prima convertire i char in int

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.