Article View: fr.comp.lang.c
Article #15171Re: fwrite et setvbuf
From: Harpo
Date: Sat, 08 Oct 2005 18:46
Date: Sat, 08 Oct 2005 18:46
36 lines
2675 bytes
2675 bytes
Pierre Habouzit wrote: > >> en g�n�ral setvbuf bufferise � 8 ou 32k. 24octets, �a ressemble � une >> linuxerie ou une erreur de manipe... > > en fait, en refaisant un petit programme qui ne fait que utiliser > fwrite, il apparait que ce qui provoque l'�criture c'est une > utilisation de ma part de 'ftell' > > je pensais (visiblement naivement) que ftell ne faisait que lire un > membre de la structure interne de FILE, mais visiblement ca g�n�re un > flush des buffers. Le probl�me vient de l�. > > Il va donc falloir que je reprogramme ma propre bufferisation � cause > de ca, c'est trop b�te ... > > d�sol� pour le d�rangement donc. Non, au contraire merci pour l'info. Ce n'est pas une mauvaise nouvelle de faire ta propre bufferisation, tu peux �crire directement dans le buffer, plut�t que faire � chaque fois des recopies de donn�es, ce n'est pas compl�tement anecdotique, les CPU sont souvent un peu surcharg�s par ce genre de trucs souvent inutiles. C'est simple, tu as un buffer dans lequel tu peux mettre 100 records, tu commence par mettre l'adresse de ton record au debut de ton buffer, tu tu mets ce que tu veux � cette adresse et �crire le record consiste simplement � incr�menter le pointeur sur le record de sa taille. Arriv� au 101�me ou � la fermeture du fichier, t'�cris le buffer. C'est un peu plus complexe en cas de reprise � chaud pour plantage mais cela n'apporte pas d'inconv�nient par rapport � fwrite( ). Par contre, je ne sais pas ce que tu fais de ftell( ), mais il faudra sans doute te d�brouiller autrement. Je pense que l'appel de cette fonction n'est pas toujours justifi�.
Technical Details
Message-ID:
<43481429$0$1022$8fcfb975@news.wanadoo.fr>Path:
arc1-ca.pugleaf.net!g2news1.google.com!news2.google.com!proxad.net!feed.ac-versailles.fr!uvsq.fr!freenix!news.wanadoo.fr!news.wanadoo.fr!not-for-mailReferences:
<4347c389$0$14664$626a14ce@news.free.fr> <4347f9b8$0$18839$636a55ce@news.free.fr> <43480636$0$14042$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 Message-ID: <43481429$0$1022$8fcfb975@news.wanadoo.fr> From: Harpo <trashcan@hotmail.com> Subject: Re: fwrite et setvbuf Newsgroups: fr.comp.lang.c Date: Sat, 08 Oct 2005 20:46:52 +0200 References: <4347c389$0$14664$626a14ce@news.free.fr> <4347f9b8$0$18839$636a55ce@news.free.fr> <43480636$0$14042$626a14ce@news.free.fr> Organization: ARG ; Association pour la Rehabilitation du Goto User-Agent: KNode/0.8.2 MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8Bit Lines: 37 NNTP-Posting-Date: 08 Oct 2005 20:47:05 CEST NNTP-Posting-Host: 83.195.126.74 X-Trace: 1128797225 news.wanadoo.fr 1022 83.195.126.74:34921 X-Complaints-To: abuse@wanadoo.fr Path: arc1-ca.pugleaf.net!g2news1.google.com!news2.google.com!proxad.net!feed.ac-versailles.fr!uvsq.fr!freenix!news.wanadoo.fr!news.wanadoo.fr!not-for-mail