Welkom op de Nederland Computer Kennisnetwerk!  
 
Zoeken computer kennis
Home Hardware Netwerken Programmering Software Computerstoring Besturingssysteem
Computer Kennis >> Programmering >> C /C + + Programming >> Content
Verschil tussen fgetc en getc
De C -programmeertaal kunt u gegevens uit een bestand of het toetsenbord met de functies fgetc of getc krijgen . Beide functies nemen de volgende beschikbare personage uit een datastroom en opslaan als een unsigned char . Deze twee functies worden gebruikt voor hetzelfde doel en kunnen door elkaar worden gebruikt wanneer bepaalde voorzorgsmaatregelen worden genomen . Implementatie

Er zijn vaak veel legitieme manieren om een ​​taak programmering met behulp van de C language.for instantie uit te voeren, zowel fgetc en getc zijn onderdeel van de standaard C include file , " stdio.h " . Fgetc is geïmplementeerd als een C - taal -functie . Getc , anderzijds , kan worden gevonden als een functie of als een macro . Bijvoorbeeld , kunt u vinden getc opgenomen in de " stdio.h " bestand als de volgende code :

# define getc ( f ) ( ( - ( ( f ) - > level ) > = 0 ) ( unsigned char ) ( + + ( f ) - > curp ) [ -1 ] : ? _fgetc ( f ) ) op

Wanneer de C preprocessor ontleedt uw broncode en vindt de identifier " getc " met parameters binnen haakjes , het voegt deze parameters in het vervangende token dat getc definieert . Zolang de parameters zijn niet uitdrukkingen , zal de macro altijd terug hetzelfde resultaat als fgetc .
Optreden

getc
wordt soms uitgevoerd als een macro om de prestaties van applicaties te verhogen door het verhogen van de snelheid van uitvoering en het verminderen van de verwerking overhead . Wanneer u fgetc gebruiken in een programma , zijn de processor en het geheugen middelen besteed volgen van de uitvoering van de functie van instructies , het register variabelen en gemaakt als het eigenlijke werk dat gedaan moet worden om een ​​teken terug te keren uit de datastroom . Sinds de getc macro wordt samengesteld inline voordat het programma ooit loopt , is er geen functie overhead en uw aanvraag kan sneller lopen .
Side Effects

Soms de voorkeur fgetc plaats van getc gebruiken om fouten veroorzaakt door macro uitzetting bijwerkingen te voorkomen . Bijwerkingen kunnen optreden wanneer een getc macro wordt gegeven parameters die uitdrukkingen nogal variabelen zijn . Oneigenlijk macro expansie kan leiden meerdere pogingen om de datastroom die onverwachte resultaten kan opleveren . Dit kan voorkomen worden door fgetc plaats of de expressie eerste evaluatie , vervolgens langs de resulterende variabele of aanwijzer getc .
Cross compatibiliteit

fgetc
als functie gevonden in alle C-compilers die voldoen aan de American National Standards Institute of ANSI C standaard . Als het gaat om getc echter dingen zijn vaak niet zo standaard . Soms wordt getc gedefinieerd als gewoon als een andere naam voor fgetc :

# define getc ( __stream ) fgetc ( __stream ) op

Wanneer getc is geïmplementeerd als een functie , maar je tegelijkertijd onderhouden compatibiliteit taal met andere C-compilers en elimineren van de mogelijkheid van macro bijwerkingen .

Previous: Next:
  C /C + + Programming
·Definitie van Visual Basic For…
·Hoe implementeer ik Short Time…
·Hoe te snijcirkels Berekenen i…
·Verschillen tussen ATL , MFC e…
·Hoe maak je een USB -printer T…
·Hoe te Enum Waarden afdrukken …
·Hoe te Editor Met behulp van O…
·Hoe te BitArray converteren na…
·Hoe maak je een Vector van Str…
  Related Articles
Hoe je tekst tussen twee HTML-codes leze…
Verschillen tussen Visual Basic en Visua…
Het verschil tussen SDI Form & MDI formu…
Wat zijn de verschillen tussen Visual Ba…
Hoe gegevens tussen Word documenten met …
Hoe te gebruiken Visual Basic om het ver…
Hoe gegevens overbrengen tussen tabellen…
Hoe je het verschil tussen tijdzones in …
Hoe te Aantal Weken Bereken tussen twee …
  Programmering Articles
·VBA Gids 
·Hoe maak je Byte Sequence een karakter i…
·Hoe om beelden vast te leggen en opslaan…
·Basis Delen van Visual Basic 
·Hoe te Override verwijderen in Rails 
·Hoe te verwijderen van een Redirect in P…
·Inleiding programmeren gebruik van Java 
·Hoe te Input en Output Parameters ophale…
·Hoe te DOS Commando Run in VB.Net 
Copyright © Computer Kennis http://www.nldit.com