Diferencia entre printf y sprintf en lenguaje de programación C

Aquí vamos a aprender sobre printf y sprintf declaraciones en lenguaje de programación C, cuándo y cómo se utilizan? ¿Cuáles son sus parámetros y lo que return?

printf

printf se utiliza para imprimir el texto (cadena / flujo de caracteres) y / o los valores en el dispositivo de salida estándar.

Aquí es la sintaxis

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

Aquí,

  • formato proporciona el formato de la cadena de texto que se va a imprimir en el dispositivo de salida con la ayuda de especificadores de formato como % s,% d , % f etc.
  • proporciona la lista de argumentos para ser impresos.
  • Return tipo rendimientos int número total de caracteres impresos en la pantalla de salida.

Un programa sencillo para imprimir “Hola”

#include <stdio.h>
int main()
{
printf("Hello");
return 0;
}

salida

Hello

programa para imprimir nombre y edad

#include <stdio.h>
int main()
{
printf("My name is %s, I am %d years oldn","Mike",23);
return 0;
}

salida

My name is Mike, I am 23 years old

programa para obtener e imprimir el valor return de printf

#include <stdio.h>
int main()
{
int n;
n=printf("Hello world!");
printf("nTotal number of printed characters are: %dn",n);
return 0;
}

salida

Hello world!
Total number of printed characters are: 12

sprintf

sprintf se utiliza para enviar (copia) de texto con formato (corriente cadena / personaje) en una cadena.

Ésta es la sintaxis

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

Aquí,

  • char * str – ¿Es matriz de caracteres en el que el formato de texto se enviará (copiado).
  • formato ofrece el texto formateado con la ayuda de especificadores de formato.
  • proporciona la lista de argumentos que se imprimirán.
  • Return tipo int devuelve el número total de caracteres copiados (enviado) en el char * str .

Un programa sencillo para copiar el nombre, la edad y texto con formato en una matriz de caracteres

#include <stdio.h>
int main()
{
char str[100];
sprintf((char*)str,"My name is %s, I am %d years old.","Mike",23);
printf("Text is: %sn",str);
return 0;
}

salida

Text is: My name is Mike, I am 23 years old.

Un programa para obtener e imprimir el valor return de sprintf

#include <stdio.h>
int main()
{
char str[100];
int n;
n=sprintf((char*)str,"My name is %s, I am %d years old.","Mike",23);
printf("Text is: %sn",str);
printf("Total number of copied characters are: %dn",n);
return 0;
}

salida

Text is: My name is Mike, I am 23 years old.
Total number of copied characters are: 35

Referencia: https://en.wikipedia.org/wiki/Printf_format_string


Deja un comentario

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