D Programming Language 1.0

Last update Mon Dec 31 10:53:28 2012


The std.cstream module bridges std.c.stdio (or std.stdio) and std.stream. Both std.c.stdio and std.stream are publicly imported by std.cstream.

Ben Hinkle

Public Domain


class CFile: std.stream.Stream;
A Stream wrapper for a C file of type FILE*.

this(_iobuf* cfile, FileMode mode, bool seekable = false);
Create the stream wrapper for the given C file.

FileMode mode a bitwise combination of FileMode.In for a readable file and FileMode.Out for a writeable file.
bool seekable indicates if the stream should be seekable.

_iobuf* file();
void file(_iobuf* cfile);
Property to get or set the underlying file for this stream. Setting the file marks the stream as open.

void flush();
void close();
bool eof();
char getc();
char ungetc(char c);
size_t readBlock(void* buffer, size_t size);
size_t writeBlock(void* buffer, size_t size);
ulong seek(long offset, SeekPos rel);
void writeLine(char[] s);
void writeLineW(wchar[] s);
Overrides of the Stream methods to call the underlying FILE* C functions.

CFile din;
CFile wrapper of std.c.stdio.stdin (not seekable).

CFile dout;
CFile wrapper of std.c.stdio.stdout (not seekable).

CFile derr;
CFile wrapper of std.c.stdio.stderr (not seekable).