| Hjem | Hardware | Netværk | Programmering | software | Fejlfinding | systemer | 
Programmering  
  • C /C + + Programming
  • Computer Programmeringssprog
  • Delphi programmering
  • Java programmering
  • JavaScript Programmering
  • PHP /MySQL programmering
  • Perl programmering
  • Python Programming
  • Ruby Programming
  • Visual Basics Programmering
  •  
    Computer Viden >> Programmering >> C /C + + Programming >> Content
    Forskellen mellem fgetc og getc
    C- programmeringssprog giver dig mulighed for at få data fra en fil eller tastaturet ved hjælp af funktionerne fgetc eller getc . Begge funktioner tager det næste tilgængelige tegn fra en datastrøm og gemme det som en unsigned char . Disse to funktioner bruges til samme formål , og kan bruge i flæng , hvis visse forholdsregler er truffet . Implementering
    p Der er ofte mange legitime måder at udføre en programmering opgave ved hjælp af C language.For eksempelvis både fgetc og getc er en del af standard C omfatter fil " stdio.h " . Fgetc er implementeret som en C -sproget funktion. Getc , på den anden side , kan findes som en funktion eller som en makro . For eksempel kan du finde getc medtaget i " stdio.h " fil som den følgende kode : Hej

    # define getc ( f ) ( ( - (( F) -> niveau) > = 0) ( unsigned char ) (+ + ( F) -> CURP ) [ -1] : ? _fgetc ( f ) )

    Når C præprocessor analyserer din kildekode og finder identifier " getc " med parametre i parenteser , indsætter det disse parametre ind udskiftning token , der definerer getc . Så længe de parametre ikke er udtryk , vil makroen altid returnere det samme resultat som fgetc .
    Resultater

    Getc tider er implementeret som en makro til at øge programmets ydeevne ved at øge udførelse hastighed og reducere behandlingstiden overhead . Når du bruger fgetc i et program , er processor og hukommelse ressourcer brugt sporing udførelsen af ​​funktions anvisninger , registeret variabler skabt såvel som det faktiske arbejde , der skal gøres for at returnere en karakter fra datastrømmen . Da getc makroen er kompileret inline før programmet nogensinde kører , er der ingen funktion overhead og din ansøgning kan køre hurtigere.
    Side Effects

    Nogle gange er det foretrækkes at anvende fgetc stedet for getc for at undgå fejl forårsaget af makro ekspansion bivirkninger . Bivirkninger kan forekomme, når en getc makro gives parametre, der er udtryk snarere variabler . Forkert makro ekspansion kan medføre flere forsøg på at få adgang til datastrømmen , der kan give uventede resultater. Dette kan forhindres ved hjælp af fgetc stedet, eller ved at evaluere udtrykket først, derefter passerer den resulterende variabel eller pegepind til getc .
    Cross Kompatibilitet

    fgetc som en funktion er findes i alle C- compilere, der er i overensstemmelse med American National Standards Institute eller ANSI C-standard . Når det kommer til getc dog tingene er ofte ikke så standard. Nogle gange er getc defineres så enkelt som et andet navn for fgetc : Hej

    # define getc ( __stream ) fgetc ( __stream )

    Når getc er implementeret som en funktion , men du samtidig bevare sproget kompatibilitet med andre C- compilere , og fjerne muligheden for makro bivirkninger.

    Forrige :

    næste :
      Relaterede artikler
    ·Hvordan at begrænse antallet af decimaler i C + + 
    ·Hvordan debug i Visual C + + 
    ·Sådan oprettes en CAB i Windows Mobile 
    ·Sådan Reverse bekendtgørelse af en vektor i C + + 
    ·Hvordan at kontrollere, om en Array har værdi eller ik…
    ·Sådan Se kaldstakkens i GDB 
    ·Hvad er forskellen mellem en analog indgang styringsuds…
    ·Cell Processor Tutorial 
    ·Sådan bruges Turbo C 
    ·C Programmering Fejl & Sådan Fix Them 
      Anbefalede Artikler
    ·Sådan oprettes en billedsøgning på en hjemmeside 
    ·Sådan Konverter en BMP til en Byte Array 
    ·Sådan ændres Scrollbar Color Brug Java 
    ·Sådan konfigureres SSL i PHP 
    ·Sådan bruges HTML File Separate Fra PHP File 
    ·Hvordan til at returnere en streng fra et klasse 
    ·Hvordan man laver en bruger Ended Loop i Java 
    ·Sådan at se, om en streng er numerisk med Java 
    ·Programmør Guide til EGA & VGA Cards 
    ·Java Spring Vs . Struts 
    Copyright © Computer Viden http://www.computerdk.com