🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: borland.public.cppbuilder.nativeapi
Article #782

Re: winapi WriteFile single byte and buffering

#782
From: Asger Joergensen
Date: Thu, 10 Jan 2008 10:18
41 lines
1804 bytes
Hi John
 
 John Grabner says:
> I am using WrtieFile to write a lot of single bytes to a file. Reading 
> the documentation I cannot work out if I can have a buffered write and 
> if so how do to do a buffered write.

An idea:

class TBufferWrite
{
   AnsiString FBuffer;// or another type of buffer
   int FMaxBuffer, FBufferSize;
   HANDLE hFile;

   void __fastcall WriteBufferToFile(){FBufferSize = 0;};

public:

   __fastcall TBufferWrite()
   : FMaxBuffer(0)
   , hFile(0)
   , FBufferSize(0){}
   __fastcall ~TBufferWrite(){/*Close the File if open*/}

   bool __fastcall OpenFile(AnsiString FileName);
   bool __fastcall WriteFile(char aChar)
   {
      ++FBufferSize;
      FBuffer += aChar;
      if(FBufferSize >= FMaxBuffer)
         WriteBufferToFile();
   }
   void __fastcall CloseFile();
};

Code not tested in anyway..

Kind regards
Asger
Technical Details
Message-ID: <MPG.21f00f63e65d01ac9899e1@newsgroups.borland.com>
Path: arc1-ca.pugleaf.net!g2news1.google.com!news2.google.com!news.glorb.com!ucberkeley!news-hog.berkeley.edu!203.109.252.33.MISMATCH!newsfeeds.ihug.co.nz!ihug.co.nz!newsgroups.borland.com!not-for-mail
References: <47859f0a$1@newsgroups.borland.com>

Show Full Headers
Complete Article Headers
X-Google-Thread: 10cc67,dda6b5e99e5dd7cc
X-Google-Attributes: gid10cc67,public,usenet
X-Google-Language: ENGLISH,ASCII-7-bit
From: Asger Joergensen <junk@Asger-P.dk>
Newsgroups: borland.public.cppbuilder.nativeapi
Subject: Re: winapi WriteFile single byte and buffering
Date: Thu, 10 Jan 2008 11:18:32 +0100
Message-ID: <MPG.21f00f63e65d01ac9899e1@newsgroups.borland.com>
References: <47859f0a$1@newsgroups.borland.com>
Organization: Asger-P
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
User-Agent: MicroPlanet-Gravity/2.70.2067
NNTP-Posting-Host: 83.73.201.25
X-Trace: newsgroups.borland.com 1199960310 83.73.201.25 (10 Jan 2008 02:18:30 -0700)
Lines: 41
Path: arc1-ca.pugleaf.net!g2news1.google.com!news2.google.com!news.glorb.com!ucberkeley!news-hog.berkeley.edu!203.109.252.33.MISMATCH!newsfeeds.ihug.co.nz!ihug.co.nz!newsgroups.borland.com!not-for-mail