fgetc() y fputc() en C

fgetc()

fgetc() se usa para obtener la entrada de un archivo de un solo carácter a la vez. Esta función devuelve el código ASCII del carácter leído por la función. Devuelve el carácter presente en la posición indicada por el puntero del archivo. Después de leer el carácter, el puntero del archivo avanza al siguiente carácter. Si el puntero está al final del archivo o si se produce un error, esta función devuelve el archivo EOF. 
Sintaxis: 
 

int fgetc(FILE *pointer)
pointer: pointer to a FILE object that identifies 
the stream on which the operation is to be performed.

C

// C program to illustrate fgetc() function
#include <stdio.h>
 
int main ()
{
    // open the file
    FILE *fp = fopen("test.txt","r");
 
    // Return if could not open file
    if (fp == NULL)
      return 0;
 
    do
    {
        // Taking input single character at a time
        char c = fgetc(fp);
 
        // Checking for end of file
        if (feof(fp))
            break ;
 
        printf("%c", c);
    }  while(1);
 
    fclose(fp);
    return(0);
}

Producción: 
 

The entire content of file is printed character by
character till end of file. It reads newline character
as well.

Usando fputc()

fputc() se usa para escribir un solo carácter a la vez en un archivo dado. Escribe el carácter dado en la posición indicada por el puntero del archivo y luego avanza el puntero del archivo. 
Esta función devuelve el carácter que se escribe en caso de una operación de escritura exitosa; de lo contrario, en caso de error, se devuelve EOF. 
Sintaxis: 
 

int fputc(int char, FILE *pointer)
char:  character to be written. 
This is passed as its int promotion.
pointer: pointer to a FILE object that identifies the 
stream where the character is to be written.

C

// C program to illustrate fputc() function
#include<stdio.h>
int main()
{
    int i = 0;
    FILE *fp = fopen("output.txt","w");
 
    // Return if could not open file
    if (fp == NULL)
      return 0;
 
    char string[] = "good bye", received_string[20];
 
    for (i = 0; string[i]!='\0'; i++)
 
        // Input string into the file
        // single character at a time
        fputc(string[i], fp);
 
    fclose(fp);
    fp = fopen("output.txt","r");
 
    // Reading the string from file
    fgets(received_string,20,fp);
 
    printf("%s", received_string);
 
    fclose(fp);
    return 0;
}

Producción: 
 

good bye

Cuando se ejecuta fputc(), los caracteres de la variable de string se escriben en el archivo uno por uno. Cuando leemos la línea del archivo, obtenemos la misma string que ingresamos.
Este artículo es una contribución de Hardik Gaur . Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
 

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *