| Home  | Casa  | Hardware  | Networking  | Programmazione  | Software  | Domanda  | Sistemi  |   
Programmazione  
  • C /C + + Programming

  • Computer Programming Languages

  • Delphi Programming

  • Java Programming

  • Programmazione Javascript

  • PHP /MySQL Programmazione

  • Perl Programming

  • Python Programming

  • rubino Programmazione

  • Nozioni di base di Visual Programming
  •  
    Conoscenza Informatica >> Programmazione >> C /C + + Programming >> Content
    Differenza tra fgetc e getc
    Il linguaggio di programmazione C consente di ottenere i dati da un file o la tastiera si utilizzano le funzioni fgetc o getc . Entrambe le funzioni prendono il successivo carattere disponibile da un flusso di dati e lo immagazzinano come un unsigned char . Queste due funzioni sono usate per lo stesso scopo e si possono usare indifferentemente se si prendono alcune precauzioni . Attuazione

    Spesso ci sono molti modi legittimi per eseguire un compito di programmazione utilizzando l'istanza language.For C , sia fgetc e getc sono parte dello standard C includono file " stdio.h " . Fgetc è implementato come una funzione C - lingua . Getc , d'altra parte, può essere trovata come una funzione o come macro . Ad esempio, è possibile trovare getc incluso nel file " stdio.h ", come il seguente codice:

    # define getc ( f) ( ( - ( ( f) - > Livello ) > = 0 ) ( unsigned char ) ( + + ( f) - > CURP ) [ -1 ] : _fgetc ( f ) ) per

    Ogni volta che il preprocessore C analizza il codice sorgente e trova l'identificatore " getc " ? con parametri racchiusi tra parentesi , inserisce i parametri nel token di sostituzione che definisce getc . Fino a quando i parametri non sono espressioni , la macro restituisce sempre lo stesso risultato fgetc .
    Prestazioni

    GETC volte è implementata come una macro per aumentare le prestazioni delle applicazioni aumentando la velocità di esecuzione e riducendo il carico di elaborazione . Quando si utilizza fgetc in un programma , le risorse di memoria e processore sono spesi tracciamento l'esecuzione delle istruzioni della funzione , le variabili di registro creati così come il lavoro effettivo che deve essere fatto per restituire un carattere dal flusso di dati . Dal momento che la macro getc è compilato in linea prima che il programma viene eseguito sempre , non c'è sovraccarico funzione e l'applicazione potrebbe funzionare più velocemente .
    Side Effects

    volte è preferibile utilizzare fgetc anziché getc per evitare errori causati da effetti collaterali macro espansione . Gli effetti collaterali possono verificarsi quando una macro getc è data parametri che sono espressioni piuttosto variabili . Espansione di macro improprio può provocare molteplici tentativi di accesso al flusso di dati che può produrre risultati imprevisti . Ciò può essere evitato utilizzando fgetc invece o valutando l'espressione , poi passando la variabile risultante o puntatore a getc .
    Croce Compatibilità

    fgetc come funzione è presente in tutti i compilatori C conformi alla American National Standards Institute o standard ANSI C . Quando si tratta di getc , però, le cose spesso non sono così standard . A volte , getc è definito semplicemente come un altro nome per fgetc :

    # define getc ( __stream ) fgetc ( __stream ) per

    Quando getc è implementato come una funzione, tuttavia, è allo stesso tempo mantenere la compatibilità con la lingua con altri compilatori C e di eliminare la possibilità di effetti collaterali macro .

    Previous :

    next :
      Articoli Correlati
    ·Come visualizzare GridView in una pagina separata 
    ·Come collegare COBOL e C insieme su z /OS 
    ·Come leggere un file in ANSI C 
    ·Come compilare un Header in C + + 
    ·Come riferimento alle proprietà di un altro progetto i…
    ·Quali sono le funzioni di Turbo C 
    ·Come fare un programma utilizzando Microsoft Visual C 
    ·Come fare un sistema operativo 
    ·Come identificare un utente Windows con ASP 
    ·Come ottenere un argomento di input ARGV in C + + 
      Articoli in evidenza
    ·Come scrivere e convertire le libbre in once in Compute…
    ·Vs Client Server . Web-Based 
    ·Come creare XML per Google Maps 
    ·Come leggere un MOV in MATLAB 
    ·Come utilizzare la funzione SOMMA in MySQL 
    ·Come creare biglietti d'auguri virtuali per il profitto…
    ·Come ottenere un ID di rete LAN e di dominio mediante V…
    ·Come rimuovere Databindings Da una casella di testo 
    ·Come utilizzare il colon in Java 
    ·Come importare VBScript Into VB express 
    Copyright © Conoscenza Informatica http://it.wingwit.com