Section courante

A propos

Section administrative du site

print

Imprime
Rust

Syntaxe

macro_rules! print {
   ($($arg:tt)*) => { ... };
}

Description

Cette macro permet d'afficher une chaîne formatée vers la sortie standard (stdout), sans ajout de saut de ligne.

Remarques

Permet d'afficher la sortie standard.

Équivalent à la macro println!, sauf qu'aucun retour à la ligne n'est affiché à la fin du message.

Notez que la sortie standard est souvent mise en mémoire tampon par défaut ; il peut donc être nécessaire d'utiliser io::stdout().flush() pour garantir l'émission immédiate de la sortie.

La macro print! verrouille la sortie standard à chaque appel. Si vous appelez print! dans une boucle active, ce comportement peut constituer un goulot d'étranglement. Pour éviter cela, verrouillez la sortie standard avec io::stdout().lock() :

  1. use std::io::{stdout, Write};
  2.  
  3. let mut lock = stdout().lock();
  4. write!(lock, "bonjour le monde").unwrap();

Utilisez print! uniquement pour la sortie principale de votre programme. Utilisez plutôt eprint! pour afficher les messages d'erreur et de progression.

Paniques

Panique en cas d'échec d'écriture sur io::stdout().

L'écriture sur une sortie standard non bloquante peut provoquer une erreur, ce qui entraînera une panique de cette macro.

Exemples

  1. use std::io::{self, Write};
  2.  
  3. print!("ce ");
  4. print!("sera ");
  5. print!("est ");
  6. print!("sur ");
  7. print!("le ");
  8. print!("même ");
  9. print!("ligne ");
  10.  
  11. io::stdout().flush().unwrap();
  12.  
  13. print!("cette chaîne a une nouvelle ligne, pourquoi ne pas choisir println! à la place?\n");
  14.  
  15. io::stdout().flush().unwrap();


Dernière mise à jour : Mardi, le 5 Août 2025