Article View: fr.comp.lang.c
Article #15166Re: fwrite et setvbuf
From: Machin Chose
Date: Sat, 08 Oct 2005 16:54
Date: Sat, 08 Oct 2005 16:54
30 lines
2248 bytes
2248 bytes
Pierre Habouzit a �crit : > Je fais un programme qui n'arr�te pas d'�crire des structures binaires dans > un fichier. Ces structures font 24 octets, et je m'�tais laiss� dire que > fwrite �tait bufferis�. > > Apres un peu de recherche, j'ai r�alis� que fwrite bufferisait sur '\n' par > d�taut et que donc il fallait que je fasse un : > > setvbuf(my_file, NULL, _IOFBF, BUFSIZ); > > pour que le fichier soit "fully buffered". (je tiens ca de setvbuf(3)). > > le hic est que un strace lors de l'execution du programme me montre qu'il > fait des appels syst�mes 'write' de 24 octets r�curents...... et je ne fais > pourtant aucun fflush. Ce qui veut donc dire que mon ficher n'est *pas* > bufferis�. en g�n�ral setvbuf bufferise � 8 ou 32k. 24octets, �a ressemble � une linuxerie ou une erreur de manipe... > > J'ai essay� plusieurs trucs, ... sans r�sultat notable. Est ce que quelqu'un > aurait une id�e de g�nie m'�vitant de reprogrammer un fwrite perso ? bof, un petit buffer pour stocker une centaine de structure, que t'�cris de temps en temps avec un write ; c'est pas tr�s compliqu� et vu la taille de tes structures, �a prendrait pas beaucoup plus de place... Z.
Technical Details
Message-ID:
<4347f9b8$0$18839$636a55ce@news.free.fr>Path:
arc1-ca.pugleaf.net!g2news1.google.com!news2.google.com!proxad.net!infeed-4.proxad.net!nnrp7-1.free.fr!not-for-mailReferences:
<4347c389$0$14664$626a14ce@news.free.fr>Show Full Headers
Complete Article Headers
X-Google-Thread: f9822,e69a4cd47d957512 X-Google-Attributes: gidf9822,public X-Google-Language: FRENCH,ASCII Path: arc1-ca.pugleaf.net!g2news1.google.com!news2.google.com!proxad.net!infeed-4.proxad.net!nnrp7-1.free.fr!not-for-mail Date: Sat, 08 Oct 2005 18:54:16 +0200 From: Machin Chose <utilisateur@exemple.fr> User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; fr; rv:1.7.12) Gecko/20050915 X-Accept-Language: fr, en MIME-Version: 1.0 Newsgroups: fr.comp.lang.c Subject: Re: fwrite et setvbuf References: <4347c389$0$14664$626a14ce@news.free.fr> In-Reply-To: <4347c389$0$14664$626a14ce@news.free.fr> Content-Type: text/plain; charset=ISO-8859-15; format=flowed Content-Transfer-Encoding: 8bit Lines: 30 Message-ID: <4347f9b8$0$18839$636a55ce@news.free.fr> Organization: Guest of ProXad - France NNTP-Posting-Date: 08 Oct 2005 18:54:18 MEST NNTP-Posting-Host: 82.231.131.106 X-Trace: 1128790458 nnrp7-1.free.fr 18839 82.231.131.106:3258 X-Complaints-To: abuse@proxad.net