Printf

Printf

printf


Un ejemplo de la función printf.

Numerosos lenguajes de programación implementan una función printf, para mostrar una cadena con formato. Ésta, originaria del lenguaje de programación C, tiene un prototipo similar al siguiente:

 int printf(const char* formato,...)

La cadena constante formato provee una descripción de la salida, con placeholders marcados por caracteres de escape "%", para especificar la localización relativa y el tipo de salida que la función debe producir.

Por ejemplo en C:

 printf("Color %s, numero1 %d, numero2 %05d, hex %x, real %5.2f.\n", "rojo", 12345, 89, 255, 3.14);

imprimirá la siguiente línea (incluyendo el caracter de nueva línea \n):

 Color rojo, numero1 12345, numero2 00089, hex ff, real 3.14.

La función printf retorna el número de caracteres impresos, o un valor negativo si ocurre un error.

Contenido

Ejemplo

El clásico ejemplo de Hola Mundo! para mostrar esta cadena de texto.

#include <stdio.h>
 
int main(void)
{
  printf("¡Hola, mundo!\n");
  return 0;
}


Funciones derivadas

sprintf

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

Devolviendo: un entero, que índica el número de caracteres leidos.

Ejemplo de uso ( C++ ):

#include<iostream>
#include<cstdlib>
   
using namespace std;
   
int main(){
   char cadena[12]; //Declaramos una cadena de dimensión 3
   char buffer[120];
   string buffer1 = "Hemos escrito un ESLOGAN con sprintf - ";
   int i,j, numerito=78989, tam_cad, tam_buffer;
   
   for(i=0; buffer1[i]!='\0'; i++) buffer[i]=buffer1[i]; //Copiamos un STRING a Cadena y medimos su tamaño
   tam_buffer=i;
   tam_cad=sprintf(cadena ,"%d", numerito); //Pasamos a cadena el número ( de entero -> char* )
   for(i=0,j=tam_buffer; i<tam_cad; i++, j++) buffer[j]=cadena[i]; // Le pegamos la cadena ( contiene el numeritoo )
      buffer[j]='\0';
   
   cout <<endl<<endl<< buffer <<endl<<endl;
   
   return(0);
}

Mostraría: Hemos escrito un ESLOGAN con sprintf - 78989

fprintf

fprintf permite que la salida de printf pueda escribirse en cualquier archivo. Los programadores suelen utilizarlo para imprimir errores, pero puede funcionar con cualquier archivo abierto con la función fopen. Su prototipo, dentro del archivo de cabecera stdio.h, sería:

 int fprintf(FILE *stream, const char *format,...)
donde:
  • *stream: es el flujo del archivo abierto, es decir la variable·puntero declarada a fopen
  • *format. sería lo que se quiere guardar.

snprintf

snprintf produce una salida con formato como printf, pero en vez de enviarlo al stdout lo escribe a una cadena de caracteres. A diferencia de sprintf esta necesita el número de bytes que queremos escribir, pudiendo evitar así más facilmente un problema de desbordamiento de buffer. Su prototipo, dentro del archivo de cabecera stdio.h, sería:

 int snprintf(char *str, size_t size, const char *format,...)


donde:
  • char *str: Cadena de destino.
  • size_t size: Número de bytes a escribir. Se suele poner el tamaño de la cadena destino.
  • const char *format,... : Formato habitual de printf.

Veamos un ejemplo:

 int edad=5;
 char nombre[10]="Juan";
 char cadena[10];
 
 snprintf(cadena,sizeof(cadena),"Me llamo %s y tengo %d años",nombre,edad);

En este caso snprintf escribiría en la variable "cadena" los 10 primeros bytes de "Me llamo Juan y tengo 5 años"

Véase también

Obtenido de "Printf#fprintf"

Wikimedia foundation. 2010.

Игры ⚽ Нужно решить контрольную?

Mira otros diccionarios:

  • Printf — printf  обобщённое название семейства функций или методов стандартных или широкоизвестных коммерческих библиотек, или встроенных операторов некоторых языков программирования, используемых для форматного вывода  вывода в различные потоки …   Википедия

  • printf — printf  обобщённое название семейства функций или методов стандартных или широкоизвестных коммерческих библиотек, или встроенных операторов некоторых языков программирования, используемых для форматного вывода  вывода в различные потоки …   Википедия

  • Printf — est une commande Unix permettant de faire afficher une chaîne de caractères à l écran. C est aussi un nom de fonction du Langage C, du Perl et d autres langages informatiques permettant d afficher une ou plusieurs variables de façon formatée dans …   Wikipédia en Français

  • Printf — The class of printf functions (which stands for print formatted ) is a class of functions, typically associated with curly bracket programming languages, that accept a string parameter (called the format string) which specifies a method for… …   Wikipedia

  • printf — Un exemple de la fonction printf. printf (pour l anglais print formatted, soit « imprimer formaté ») est une commande Unix permettant de faire afficher une chaîne de caractères à l écran. C est aussi un nom de fonction du langage C, et… …   Wikipédia en Français

  • printf — Un ejemplo de la función printf. Numerosos lenguajes de programación implementan una función printf (print formated), para mostrar una cadena con formato. Ésta, originaria del lenguaje de programación C, tiene un prototipo similar al siguiente:… …   Wikipedia Español

  • printf format string — An example of the printf function. Printf format string (which stands for print formatted ) refers to a control parameter used by a class of functions typically associated with some types of programming languages. The format string specifies a… …   Wikipedia

  • Printf("shiver in eternal darkness/n"); — Infobox Album | Name = printf( shiver in eternal darkness/n ); Type = studio Artist = Venetian Snares Released = start date|2000|5 Recorded = 1998 1999 Genre = Breakcore Length = 73:28 Label = Isolate Records Producer = Aaron Funk Reviews = Last… …   Wikipedia

  • Printf() — …   Википедия

  • printf — PRINT Formatted Standard Prozedur mit VARGS, http://www.desy.de/cgi bin/man cgiprintf …   Acronyms

Compartir el artículo y extractos

Link directo
Do a right-click on the link above
and select “Copy Link”