Visualizzazione dei risultati da 1 a 10 su 10

Hybrid View

  1. #1
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Per i problemi nell'apertura lo fai qui

    if (f == NULL)
    {
    *size = 0;
    return NULL;
    fclose(f);
    }

    anche se la fclose non ha senso inserirla (dopo la if non va nulla e dato che il file non è aperto non va chiuso).

    L'hai scritto tu questa if?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2018
    Messaggi
    18
    Quote Originariamente inviata da oregon Visualizza il messaggio
    Per i problemi nell'apertura lo fai qui

    if (f == NULL)
    {
    *size = 0;
    return NULL;
    fclose(f);
    }

    anche se la fclose non ha senso inserirla (dopo la if non va nulla e dato che il file non è aperto non va chiuso).

    L'hai scritto tu questa if?
    si l'ho scritta io, e come controllo se durante la lettura ho per esempio un file strutturato così:
    56
    8 Luca
    12 Marco
    Il primo numero dovrebbe essere il numero di persone presenti nel file... essendo più grande farei un for inutile 56 volte come farei a controllare se quel numero corrispoinde effettivamente al numero di righe presenti nel file???
    Ne ho bisoghno perché se il numero è maggiore devo ritornare null.
    Inoltre se il file è vuoto come lo controllo?

  3. #3
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Devi controllare il risultato restituito da ogni fscanf. Ad esempio, per la prima
    r = fscanf(f, "%i", &nrighe);

    in cui r è un int che devi controllare. Il suo valore ha un significato che trovi nella sezione Return Value

    del documento in

    http://www.cplusplus.com/reference/cstdio/fscanf/
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2018
    Messaggi
    18
    Quote Originariamente inviata da oregon Visualizza il messaggio
    Devi controllare il risultato restituito da ogni fscanf. Ad esempio, per la prima
    r = fscanf(f, "%i", &nrighe);

    in cui r è un int che devi controllare. Il suo valore ha un significato che trovi nella sezione Return Value

    del documento in

    http://www.cplusplus.com/reference/cstdio/fscanf/
    e se facessi if(fscanf(A,B,C)<0)
    SIZE=0;
    return NULL sarebbe lo stesso?

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 © 2025 vBulletin Solutions, Inc. All rights reserved.