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.
En C, il est nécessaire d'inclure l'en-tête standard
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 variadic, 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 :
#includeint 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 |
long | %ld |
float/double | %f |
char | %c |
char (string) | %s |
(void*) | %p |
entier hexadécimal | %x |
Il suffit d'écrire le caractère "%" ainsi que sa suite entre les guillemets, d'ajouter une virgule et un espace ainsi que le nom de la variable qu'on veut afficher. En voici un exemple :
#includeint 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 :
#includeint 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.
#includeint main() { double i=4.2; printf("La partie entiere du nombre %f est %d", i, i); return 0; }
Ce qui affichera "La partie entière du nombre 4.2 est 4".
Exemple :
printf "%s %s\n", "Bonjour", "Monde"
PHP utilise printf de la même façon qu'en C.
Exemple :
System.out.printf("%s", "%s", "Bonjour", "Monde");
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 permet d'écrire dans un buffer de façon formatée.
int sprintf(char* buf, const char* format, ...);