The D Programming Language

Warning: This module is considered out-dated and not up to Phobos' current standards. It will remain until we have a suitable replacement, but be aware that it will not remain long term.

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

Boost License 1.0.
Ben Hinkle

class  CFile:;

A Stream wrapper for a C file of type FILE*.

this(FILE* cfile, FileMode mode, bool seekable = false);

Create the stream wrapper for the given C file.

FILE* cfile a valid C FILE pointer to wrap.
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.

@property FILE*  file();
@property void  file(FILE* 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(const void* buffer, size_t size);
ulong  seek(long offset, SeekPos rel);
void  writeLine(const(char)[] s);
void  writeLineW(const(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).