| Casa | Hardware | Redes | Programación | software | Criticar | Sistemas |   
Programación  
  • C /C + + Programming

  • Lenguajes De Programación

  • Delphi Programación

  • Programación Java

  • JavaScript Programación

  • Programación PHP /MySQL

  • Perl Programming

  • Python Programming

  • Rubí Programación

  • Visual Basics Programación
  •  
    Conocimientos Informáticos >> Programación >> C /C + + Programming >> Content
    Diferencia entre fgetc y getc
    El lenguaje de programación C le permite obtener los datos de un archivo o el teclado con las funciones fgetc o getc . Ambas funciones tienen el siguiente carácter disponible de un flujo de datos y lo almacenan como un unsigned char . Estas dos funciones se utilizan para el mismo propósito y se pueden utilizar de forma intercambiable si se toman determinadas precauciones . Aplicación

    menudo hay muchas maneras legítimas para llevar a cabo una tarea de programación utilizando la instancia language.for C , tanto fgetc y getc son parte del estándar C archivo de inclusión , " stdio.h " . Fgetc se implementa como una función de C - idioma . GETC , por otra parte , se puede obtener como una función o como una macro . Por ejemplo , es posible getc incluido en el archivo " stdio.h " según el siguiente código:

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

    Siempre que el preprocesador de C analiza el código fuente y encuentra el identificador " getc " con parámetros encerrados entre paréntesis , inserta los parámetros en el símbolo de reemplazo que define getc . Mientras que los parámetros no son expresiones , la macro siempre devolverá el mismo resultado que fgetc .
    Rendimiento

    GETC veces se implementa como una macro para aumentar el rendimiento de aplicaciones al aumentar la velocidad de ejecución y reducir la sobrecarga de procesamiento . Cuando se utiliza fgetc en un programa, los recursos del procesador y la memoria se gastan el seguimiento de la ejecución de las instrucciones de la función , las variables de registro creados , así como el trabajo real que se necesita hacer para devolver un carácter desde el flujo de datos. Dado que la macro getc se compila en línea antes de ejecutar alguna vez el programa, no hay sobrecarga función y su aplicación puede correr más rápido.
    Efectos secundarios

    veces es preferible utilizar fgetc en lugar de getc con el fin de evitar los errores causados ​​por los efectos secundarios de expansión macro . Pueden ocurrir efectos secundarios cuando una macro getc se da parámetros que son más bien expresiones variables. Expansión de la macro incorrecta puede provocar múltiples intentos de acceso a la secuencia de datos que puede producir resultados inesperados. Esto se puede evitar mediante el uso de fgetc lugar o mediante la evaluación de la expresión , luego de pasar la variable resultante o puntero a getc .
    Cruz Compatibilidad

    fgetc como una función es que se encuentra en todos los compiladores de C que cumplen con el American National Standards Institute o ANSI C . Cuando se trata de getc , sin embargo , a menudo las cosas no son tan estándar . A veces , getc se define como simplemente como otro nombre para fgetc :

    # define getc ( __stream ) fgetc ( __stream )

    getc Cuando se implementa como una función, sin embargo, a mantener al mismo tiempo la compatibilidad idioma con otros compiladores de C y eliminar la posibilidad de efectos secundarios macro .

    Previous :

    next :
      Artículos relacionados
    ·Cómo eliminar una línea de un archivo en C 
    ·Cómo utilizar un simulador de GDB 
    ·Cómo crear un C + + Class 
    ·Cómo calcular integrales con C + + 
    ·Cómo poner Cuerdas Estilo C en una matriz en C + + 
    ·Cómo agregar un encabezado de DataGrid 
    ·Cómo integrar RESX en el CSC Compiler 
    ·Cómo utilizar CoffeeCup StyleSheet Maker 
    ·Cómo convertir el valor de texto para Int. C + + 
    ·Cómo convertir C + + de ADA 
      Artículos destacados
    ·Cómo dominar VBA para Microsoft Office 2007 
    ·Cómo crear una aplicación para Evo 
    ·Cómo convertir una cadena en un archivo en Java 
    ·Cómo agregar controles a un Panel 
    ·Cómo comprobar para ver si una cadena es numérica con…
    ·Cómo reemplazar IgnoreCase 
    ·Cómo agregar recordatorios comentarios usando Códigos…
    ·Cómo utilizar las coordenadas X e Y en Java 
    ·JSP y MySQL Tutorial 
    ·¿Cómo hacer la asignación de almacenamiento dinámic…
    Copyright © Conocimientos Informáticos http://ordenador.wingwit.com