Visualizzazione dei risultati da 1 a 8 su 8

Hybrid View

  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    1,326
    Quote Originariamente inviata da goatboy Visualizza il messaggio
    gli errori banali sono quelli peggiori
    Questo non è così banale come può sembrare. Le funzioni della famiglia *scanf() sono abbastanza "tricky", non a caso la man page relativa è piuttosto corposa. C'è chi suggerisce di evitare del tutto questa famiglia di funzioni per la lettura da file o da stdin e di ricorrere a work-around come leggere sempre il dato come stringa con la fgets() e poi convertirlo in intero con atoi(), ma per approfondimenti, nel caso ti interessi, ti rimando al web che se ne cade di articoli sull'argomento (si tratta comunque *quasi* esclusivamente di scuole di pensiero).
    every day above ground is a good one

  2. #2
    Utente di HTML.it L'avatar di goatboy
    Registrato dal
    Mar 2011
    residenza
    Salerno
    Messaggi
    408
    Quote Originariamente inviata da YuYevon Visualizza il messaggio
    Questo non è così banale come può sembrare. Le funzioni della famiglia *scanf() sono abbastanza "tricky", non a caso la man page relativa è piuttosto corposa. C'è chi suggerisce di evitare del tutto questa famiglia di funzioni per la lettura da file o da stdin e di ricorrere a work-around come leggere sempre il dato come stringa con la fgets() e poi convertirlo in intero con atoi(), ma per approfondimenti, nel caso ti interessi, ti rimando al web che se ne cade di articoli sull'argomento (si tratta comunque *quasi* esclusivamente di scuole di pensiero).
    Sapevo da tempo che la scanf() è da evitare per problemi legati ad un possibile overflow, però se utilizzata bene, con il dovuto controllo sul valore di ritorno e l'utilizzo del parametro [width] (es. %20s) non vedo che altri problemi possa generare. Più che altro è una funzione "limitante", visto che vincola il tipo di input da considerare.
    Ad ogni modo, per le stringhe ho sempre utilizzato la fgets(). Per i tipi numerici ho sempre utilizzato la scanf(), ma proverò a seguire il tuo consiglio. Grazie per la precisazione

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    1,326
    Quote Originariamente inviata da goatboy Visualizza il messaggio
    proverò a seguire il tuo consiglio
    In realtà ti illustravo una scuola di pensiero più che un metodo da me adottato che ti consiglio. Personalmente mi sono sempre trovato sufficientemente bene con le funzioni della famiglia *scanf(), con gli adeguati accorgimenti e la dovuta lettura della documentazione.
    every day above ground is a good one

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