meta, C++


#include <windows.h>

#include <streambuf>

class WinFileBuf : public std::basic_streambuf<char>

    {

    private:

    HANDLE myHandle;

    char myBuf[4096];

    protected:

    traits_type::int_type underflow()

        {

        DWORD bytesRead;

        BOOL rres = ReadFile(myHandle, myBuf, 4096, &bytesRead, NULL);

        if (rres == 0 || bytesRead == 0)  

            {

                        // Failure			return traits_type::eof();

            }

        else  

            {

            setg(myBuf, myBuf, myBuf + bytesRead);

            return myBuf[0];

            }

        }

    public:

    WinFileBuf(HANDLE fileHandle)

        {

        myHandle = fileHandle;

        setg(myBuf, myBuf + 4096, myBuf + 4096);          // first read causes underflow	}

        }

    ;

    
top . C++
Include-structure of
green / bluej / package / winlaunch / winfilebuf.h


0 include files
top . C++