Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3430 connectés 

  FORUM HardWare.fr
  Programmation

  question facile pour les pros du c

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

question facile pour les pros du c

n°72492
GurneyHall​eck
Rock Action
Posté le 15-11-2001 à 16:21:38  profilanswer
 

J aimerais savoir comment faire pour effacer une ligne complete de texte sur stdout.
En effet, j aimerais afficher des chaines de caracteres les unes apres les autres avec printf. Le probleme est que je ne connais que la commande \r pour revenir au debut de la ligne et que par consequent si la nouvelle chaine a afficher est plus courte que la precedente alors ca devient illisible (puisque l ancienne chaine n est pas efface jusqu au bout).
J espere avoir ete assez clair et j attends vos reponses avec impatience. Merci!!

 

[edtdd]--Message édité par GurneyHalleck--[/edtdd]

mood
Publicité
Posté le 15-11-2001 à 16:21:38  profilanswer
 

n°72495
Suri
Darksurious
Posté le 15-11-2001 à 16:23:21  profilanswer
 

GurneyHalleck a écrit a écrit :

J aimerais savoir comment faire pour effacer une ligne complete de texte sur stdout.
En effet, j aimerais afficher des chaines de caracteres les unes apres les autres avec printf. Le probleme est que je ne connais que la commande \r pour revenir au debut de la ligne et que par consequent si la nouvelle chaine a afficher est plus courte que la precedente alors ca devient illisible (puisque l ancienne chaine n est pas efface jusqu au bout).
J espere avoir ete assez clair et j attends vos reponses avec impatience. Merci!!  




 
Je sais pas si j'ai bien compris mais... man termcap :D


---------------
Suri.morkitu.org : Balades au coeur de la ville...
n°72497
El_gringo
Posté le 15-11-2001 à 16:25:33  profilanswer
 

déja, t'as \n pour aller à la ligne.

n°72501
Suri
Darksurious
Posté le 15-11-2001 à 16:27:23  profilanswer
 

El_Gringo a écrit a écrit :

déja, t'as \n pour aller à la ligne.  




mais je crois qu'il veut reecrire sur la meme ligne a chaque fois.. non ? bon ok j'ai rien compris...:(

 

[edtdd]--Message édité par Suri--[/edtdd]


---------------
Suri.morkitu.org : Balades au coeur de la ville...
n°72506
Carbon_14
Posté le 15-11-2001 à 16:29:09  profilanswer
 

En écrivant d'abord "                                 " comme avec le bon vieux QBasic ? On efface (pas trop longue la chaîne quand même) puis réécrit dessus...

n°72507
GurneyHall​eck
Rock Action
Posté le 15-11-2001 à 16:30:05  profilanswer
 

oui je veux effectivement reecrire sur la meme ligne (je connais deja \n quand meme :p )
merci suri mais je ne crois pas que termcap me soit utile! (ca m a l air trop complexe pour mon niveau)
Certains m ont parle de \0 .

n°72523
Suri
Darksurious
Posté le 15-11-2001 à 16:57:56  profilanswer
 

GurneyHalleck a écrit a écrit :

oui je veux effectivement reecrire sur la meme ligne (je connais deja \n quand meme :p )
merci suri mais je ne crois pas que termcap me soit utile! (ca m a l air trop complexe pour mon niveau)
Certains m ont parle de \0 .  




 
ben les termcaps c pas que c vraiment dur... c juste que c la grosse merde si t'as pas pensé ton progr avec, des le debut...
et c sur qu'un simple printf devient plus compliqué des que les termcaps interviennent...


---------------
Suri.morkitu.org : Balades au coeur de la ville...
n°72544
minusplus
Posté le 15-11-2001 à 17:21:39  profilanswer
 

ben tu fais des backspace ! \b
 
('fin moi c comme ça que je fais pour faire des compteurs d'avancement...)

 

[edtdd]--Message édité par minusplus--[/edtdd]

n°72603
gilou
Modérateur
Modzilla
Posté le 15-11-2001 à 20:16:11  profilanswer
 

Le plus simple:
Tu definis un buffer ligne, statique, de 40 ou 80 caracteres, (ou tu adaptes a ton terminal), entierement rempli de blancs.
Tu l' affiches avant tout nouvel affichage de ligne, il effacera ta ligne precedente.
A+,

 

[edtdd]--Message édité par gilou--[/edtdd]


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°72770
GurneyHall​eck
Rock Action
Posté le 16-11-2001 à 13:23:30  profilanswer
 

Merci a tous pour vos reponses.
Gilou et Carbon j ai opte pour votre solution qui fonctionne tres bien.

mood
Publicité
Posté le 16-11-2001 à 13:23:30  profilanswer
 

n°72780
tfj57
Posté le 16-11-2001 à 14:17:12  profilanswer
 

Salut,
 
Cela fonctionne aussi très bien :
 
printf("%-79s\r",chaine);
 
A+


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  question facile pour les pros du c

 

Sujets relatifs
[HTML]Question un peu conneC++: question tordue
question urgente HTML[PHP] Question sûrement toute conne, mais je vois pas...
Question sur les différentes perfs des moteurs 3Dune question toute bete...
[php] NEWBIE ! question performancesquestion en c
[PHP] Question sur commande/script pour....Encore un tite question pour une soustraction en binaire...
Plus de sujets relatifs à : question facile pour les pros du c


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR