2010-11-29 7 views
1

J'ai un programme qui transfère un fichier écrit en C. Je voulais donner à l'utilisateur une rétroaction sur la quantité d'octets et/ou le pourcentage a été transféré. Mes codes font quelque chose comme ceci:Impression de la valeur dynamique en C

Transférer ...... 100 octets.
Transfert de 200 octets.
Transfert de 300 octets.
Transfert de 400 octets.
Transfert de 500 octets.
Transféré complet !!!

Comme vous pouvez le voir, si je transfère un gros fichier, il va imprimer un tas de lignes. Est-il possible d'avoir le nombre d'octets mis à jour et de changer sans imprimer une autre ligne?

Merci d'avance les gars!

+2

pas avec printf. Essayez la librairie ncurses: http://en.wikipedia.org/wiki/Ncurses – sje397

+0

En règle générale, il est préférable d'inclure un extrait du code correspondant à votre question. Rend répondre plus facilement et vous obtient probablement une réponse plus pertinente. – Serguei

Répondre

2

Il n'y a aucun moyen générique de le faire en C standard - après tout, la sortie de votre programme peut aller directement à une imprimante ligne.

Cependant, sur de nombreux terminaux, vous pouvez imprimer un caractère \r pour ramener le curseur au début de la ligne en cours (ou imprimer un nombre de caractères de retour arrière \b pour effacer les caractères un par un).

0

Utilisez \r au lieu de \n.