¿Cuál es la diferencia entre printf, sprintf y fprintf?

printf:
la función printf se utiliza para imprimir un flujo de datos de caracteres en la consola de salida estándar.

Sintaxis:

 int printf(const char* str, ...); 

Ejemplo :

// simple print on stdout 
#include<stdio.h>
int main()
{
   printf("hello geeksquiz");
   return 0;
}

Producción :

 hello geeksquiz

sprintf:
Sintaxis:

int sprintf(char *str, const char *string,...); 

La función de impresión de strings en lugar de imprimir en la consola, almacenarla en el búfer de caracteres que se especifica en sprintf

Ejemplo :

// Example program to demonstrate sprintf()
#include<stdio.h>
int main()
{
    char buffer[50];
    int a = 10, b = 20, c;
    c = a + b;
    sprintf(buffer, "Sum of %d and %d is %d", a, b, c);
  
    // The string "sum of 10 and 20 is 30" is stored 
    // into buffer instead of printing on stdout
    printf("%s", buffer);
  
    return 0;
}

Producción :

Sum of 10 and 20 is 30

fprintf:
fprintf se usa para imprimir el contenido de la string en el archivo pero no en la consola de salida estándar.

int fprintf(FILE *fptr, const char *str, ...);

Ejemplo :

#include<stdio.h>
int main()
{
    int i, n=2;
    char str[50];
  
    //open file sample.txt in write mode
    FILE *fptr = fopen("sample.txt", "w");
    if (fptr == NULL)
    {
        printf("Could not open file");
        return 0;
    }
  
    for (i=0; i<n; i++)
    {
        puts("Enter a name");
        gets(str);
        fprintf(fptr,"%d.%s\n", i, str);
    }
    fclose(fptr);
  
    return 0;
}
Input: GeeksforGeeks
       GeeksQuiz
Output :  sample.txt file now having output as 
0. GeeksforGeeks
1. GeeksQuiz

Gracias por leer, pronto actualizaré con scanf, fscanf, sscanf manténganse al tanto.

Este artículo es una contribución de Vankayala Karunakar . 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 *