Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2010
    Messaggi
    102

    Differenza tra getc() e fgetc() ?

    Salve a tutti, mi sapreste dire che differenza c'è tra le funzioni fgetc()/getc(), fputc()/putc()... ?

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Basta leggere la documentazione

    "fgetc and getc are equivalent, except that the latter one may be implemented as a macro."

    e anche

    "getc is equivalent to fgetc and also expects a stream as parameter, but getc may be implemented as a macro, so the argument passed to it should not be an expression with potential side effects."
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2010
    Messaggi
    102
    Originariamente inviato da oregon
    Basta leggere la documentazione

    "fgetc and getc are equivalent, except that the latter one may be implemented as a macro."

    e anche

    "getc is equivalent to fgetc and also expects a stream as parameter, but getc may be implemented as a macro, so the argument passed to it should not be an expression with potential side effects."
    Cosa si intende per " ...be implemented as a macro" ?

  4. #4
    Vuol dire esattamente quello che c'è scritto: getc potrebbe essere implementata come una macro, per cui può essere che nell'espanderla l'argomento dello stream passato possa essere valutato più volte. In ogni caso era un'ottimizzazione che aveva senso 20 anni fa, attualmente non credo che nessuno (sui compilatori "mainstream") implementi più getc come macro, il compilatore dovrebbe essere abbastanza furbo da effettuare l'inlining per i fatti suoi se necessario.
    Amaro C++, il gusto pieno dell'undefined behavior.

  5. #5
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,296

    Moderazione

    Originariamente inviato da Ghemon-a
    Salve a tutti, mi sapreste dire che differenza c'è tra le funzioni fgetc()/getc(), fputc()/putc()... ?
    La risposta a questa domanda la trovi rapidamente leggendo la documentazione oppure facendo una semplice ricerca su Google.

    Non è necessario aprire una discussione nel forum per questo tipo di quesiti la cui risposta è pubblicamente e immediatamente disponibile.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

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.