Printf

Cet article est une ébauche concernant l’informatique.

Vous pouvez partager vos connaissances en l’améliorant (comment ?) selon les recommandations des projets correspondants.

Printf

Description de l'image Printf.svg.
Informations
Type Sous-programmeVoir et modifier les données sur Wikidata

modifier - modifier le code - voir Wikidata (aide) Consultez la documentation du modèle

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 de nombreux autres langages informatiques permettant d'afficher une ou plusieurs variables de façon formatée dans le flux de sortie.

Manuel printf:

Syntaxe

C

En C, il est nécessaire d'inclure l'en-tête standard <stdio.h> au début du code source du programme, car c'est lui qui permet de déclarer la fonction printf. Voici son prototype :

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

Les ... signifient que c'est une fonction variadique, qui peut prendre un nombre variable de paramètres.

format représente, comme son nom l'indique, de quoi sera faite la sortie (Entier, Double...). Son principe est le suivant : à chaque fois qu'il y a un %, printf regarde la lettre qui suit ce % et écrit la variable qui correspond dans les paramètres. Si c'est le ième %, printf regarde le (ième + 1) paramètre.

On peut écrire printf avec un seul paramètre :

#include <stdio.h>

int main()
{
     printf("Votre chaine de caractères ici");
     return 0;
}

Ou avec plusieurs paramètres. Dans ce cas, la lettre qui suit les « % » dans le format correspond à un type de variable :

Type Lettre
int %d / %i
long %ld / %li
short %hd / %hi
float/double %f
char %c
string (char*) %s
pointeur (void*) %p
entier hexadécimal %x / %X
entier octal %o
entier non signé %u
caractère % %%

Une instruction de formatage s’écrit ainsi avec le format précédé de ’%’, qui sera associé au nom de la variable qu'on veut afficher. En voici un exemple :

#include <stdio.h>

int main()
{
     long nombre = 1500;
     printf("%ld", nombre);
     return 0;
}

On peut faire afficher autant de contenus de variables que l'on veut : il suffit d'indiquer le nom de chaque variable dans l'ordre voulu. Par exemple :

#include <stdio.h>

int main()
{
     long nombre1 = 400, nombre2 = 500;
     printf("Le nombre 1 est egal a %ld et le nombre 2 a %ld", nombre1, nombre2);
     return 0;
}

Autre exemple : dans le code ci-dessous, on affiche la partie entière d'une variable de type double.

#include <stdio.h>

int main()
{
     double i=4.2;
     printf("La partie entiere du nombre %f est %d", i, (int)i);
     return 0;
}

Ce qui affichera « La partie entière du nombre 4.2 est 4 ».

Perl

Exemple :

printf "%s %s\n", "Hello", "World"

PHP

PHP utilise printf de la même façon qu'en C, et possède des fonctions dérivées comme sprintf ou vprintf[1].

Exemple :

printf('Compteur : %s, taille : %s. ', 3, 1);     // Compteur : 3, taille : 1.
printf('Compteur : %2$s, taille : %1$d. ', 1, 4); // Compteur : 4, taille : 1.

Java

Exemple :

System.out.printf("%s, %s", "Bonjour", "Monde");
String leEnVariable = "le";
System.out.printf("Bonjour" + leEnVariable + "Monde");

Python

Exemple :

print("%s %s" % ("Hello", "World"))
print("{} {}".format("Hello", "World"))
print("{x} {y}".format(y="World", x="Hello"))
print(f"{'Hello'} {'World'}")

Variantes

fprintf

fprintf permet d'écrire dans les fichiers de la même manière que printf écrit à l'écran.

int fprintf(FILE* fd, const char* format, ...);

sprintf

sprintf permet d'écrire dans un buffer de façon formatée.

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

vprintf

vprintf prend un tableau d'arguments plutôt que des arguments à la suite les uns derrière les autres. D'autres variantes utilisent ce principe pour les services de sprintf ou fprintf : les fonctions sont alors vfprintf et vsprintf.

int vprintf(const char * format, va_list arg);

Notes et références

Références

  1. « Printf », sur php.net (consulté le ).


v · m
Éléments de programmation informatique
Bibliothèque logicielle
Vocabulaire
  • Algorithme
  • Expression
  • Indentation
  • Instruction
  • Ligne de code
  • Opérateur
  • Pseudo-code
  • Ramasse-miettes
Fonctions
Objet
Événementiel Inversion de contrôle
Code source
Structures de données
Déclarations
Structures de contrôle
Fonctions usuelles
Outil de développement
Folklore
Catégories :
  • Programmation informatique
  • Développement logiciel
v · m
Aide
Environnement utilisateur
Gestion de processus
Manipulation de texte
Programmation shell
Recherche
Réseau
Système de fichiers
Divers
  • icône décorative Portail de la programmation informatique