Bonjour,
voila j'ai une application qui declare des threads. Ces derniers ecrivent dans un fichier toutes leurs sorties (detournement du flux stdout)

Tout marche bien mais parfois j'ai le problème suivant:
Thread 1 tente d'ecrire la chaine suivante: "Couleur : rouge\0\n"
Thread 2 tente d'ecrire la chaine suivante: "largeur: 10cm\0\n"

Et au lieu d'avoir dans le fichier:
Couleur : rouge
largeur: 10cm


J'ai plutot:
Coulargeur: 10cm
leur : rouge

On comprends bien que le thread 1 n' pas eu le temps d'écrire et que le thread 2 a ecrit entre temps.

Pourtant j'ai mis les buffers à 0 'setBuf(stdout, 0)' en espérant que la chaine soit écrite directement sans attente...

Je n'ai pas trop d'idée sur le sujet...
Merci de m'éclairer...

PS: Je travaille sous .NET, en C, et utilise entre autres les primitives fopen, fread, fwrite etc...

Encore merci.