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

  FORUM HardWare.fr
  Programmation
  C++

  Erreur "broken pipe" et flush de stdout

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Erreur "broken pipe" et flush de stdout

n°1115806
cosmok
Posté le 10-06-2005 à 15:03:28  profilanswer
 

Bonjour
 
travaillant sur des algorithmes appliques a un grand nombre d'images et donc longs a s'executer, j'ai ecrit une petite fonction pour simuler une barre de chargement dans un terminal afin de savoir quel pourcentage du travail est effectue :
 

Code :
  1. void loading(int i, int size)
  2. {
  3.       if (i==-1)
  4. cout<<"\b\b\b\b";
  5.       else
  6. printf("%03d%%",(int)((double)(i+1)/size*100));
  7.   cout.flush();
  8. }


 
appele comme ceci

Code :
  1. for( it = imagesNames.begin(); it != imagesNames.end(); it++, i++ )
  2.     {
  3.       loading(i, size);
  4.       // traitement sur l'image courante
  5.       loading(-1);
  6.     }


 
On obtient donc un compteur de pourcentage qui s'incremente.
Le probleme est que des fois au lieu que le pourcentage s'affiche j'ai une erreur "broken pipe".
 
Y'a t'il des precautions particulieres a prendre qd on utilise cout.flush() puisqu'apparemment le pb vient de la ?
 

mood
Publicité
Posté le 10-06-2005 à 15:03:28  profilanswer
 

n°1115862
cosmok
Posté le 10-06-2005 à 15:30:41  profilanswer
 

up to di time

n°1118165
cgo2
Dum spiro spero
Posté le 13-06-2005 à 12:13:57  profilanswer
 

question bete peut-être mais ça sert à quoi concretement cout.flush() ?

n°1118172
Aldarek
Posté le 13-06-2005 à 12:15:54  profilanswer
 

Je me pose exactement la même question lol

n°1118285
Suri
Darksurious
Posté le 13-06-2005 à 13:47:24  profilanswer
 

bah a flusher ce qui est bufferisé non?


---------------
Suri.morkitu.org : Balades au coeur de la ville...
n°1118526
cosmok
Posté le 13-06-2005 à 16:29:10  profilanswer
 

il y'est pour forcer le réaffichage de la ligne courante

n°1118561
skelter
Posté le 13-06-2005 à 16:59:57  profilanswer
 

l'ecriture sur l'entrée standard
 
a par ca tu flush cout mais tu n'ecris pas forcement, printf ca ecris sur l'objet stdout et c'est du C...

n°1120477
cosmok
Posté le 15-06-2005 à 10:57:56  profilanswer
 

merci. je vais remplacer ce printf par l'équivalent avec cout


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

  Erreur "broken pipe" et flush de stdout

 

Sujets relatifs
Erreur d'application quand j'enregistre le prgmerreur de segmentation
Windev mobile: Erreur inattendueErreur de FOP
Erreur pour la génération de la javadoc.Erreur sur page PHP (besoin d'aide)
Excel / .Net erreur 0x8002801Derreur postgresql 'can t assign request address'
Erreur Certaines fonctionnalités ayant trait aux tables reliées sont dErreur mysql... Mais qu'est ce qui cloche ?????
Plus de sujets relatifs à : Erreur "broken pipe" et flush de stdout


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