Ecrire sur le terminal sans avancer le pointeur - C - Programmation
Marsh Posté le 19-04-2010 à 02:12:21
printf("\r" ); fait revenir en début de ligne.
Un petit exemple qui fait ce que vous mentionnez, pour vous illustrer cela.
[il marche sous windows, sous unix, il faut peut être remplacer _sleep() par sleep()]
Code :
|
Note: Il faut faire attention a la taille des lignes, car un \r ne provoque pas l'effacement des caractères de la ligne, comme on peut le voir ici:
Code :
|
les caractères klm...xyz restent affichés
Si on remplace le second appel à printf par
printf("\r0123456789 " );
avec 16 blancs finaux, par contre, on aura le résultat recherché.
Une variante du premier exemple
Code :
|
A+,
Marsh Posté le 18-04-2010 à 23:54:21
Bonjour,
Je cherche comment écrire "toujours au même endroit" sur la sortie standard.
Je m'explique : quand on installe un paquet via sudo apt-get install <paquet>, pendant l'installation, on voit les pourcentages d'avancement , de téléchargement, etc.
Ces pourcentage évoluent sans afficher de nouvelles lignes, les caractères étant remplacés.
Par exemple, on voit le message:
Construction de l'arbre des dépendances ... 50%
50 évolue sans avoir besoin d'afficher de nouvelle ligne, comme si les caractères étaient remplacés.
Comment fait-on cela en C ?
Merci pour votre aide