Public Types | Public Member Functions | Static Public Attributes | Private Member Functions | Static Private Member Functions | Private Attributes

ofstream Class Reference

SD card output stream. More...

#include <SdStream.h>

Inheritance diagram for ofstream:
Inheritance graph
[legend]
Collaboration diagram for ofstream:
Collaboration graph
[legend]

List of all members.

Public Types

typedef unsigned int fmtflags
typedef unsigned char iostate
typedef int32_t off_type
typedef uint8_t openmode
typedef uint32_t pos_type
enum  seekdir { beg, cur, end }
typedef uint32_t streamsize

Public Member Functions

bool bad () const
void clear (iostate state=goodbit)
void close ()
bool eof () const
bool fail () const
char fill ()
char fill (char c)
fmtflags flags () const
fmtflags flags (fmtflags fl)
uint8_t flagsToBase ()
ostreamflush ()
bool good () const
bool is_open ()
 ofstream (const char *path, ios::openmode mode=ios::out)
void open (const char *path, openmode mode=out)
 operator const void * () const
bool operator! () const
ostreamoperator<< (unsigned char arg)
ostreamoperator<< (ostream &(*pf)(ostream &str))
ostreamoperator<< (double arg)
ostreamoperator<< (ios_base &(*pf)(ios_base &str))
ostreamoperator<< (int16_t arg)
ostreamoperator<< (uint16_t arg)
ostreamoperator<< (bool arg)
ostreamoperator<< (int32_t arg)
ostreamoperator<< (pgm arg)
ostreamoperator<< (uint32_t arg)
ostreamoperator<< (const char *arg)
ostreamoperator<< (const void *arg)
ostreamoperator<< (const signed char *arg)
ostreamoperator<< (const unsigned char *arg)
ostreamoperator<< (char arg)
ostreamoperator<< (signed char arg)
int precision () const
int precision (unsigned int n)
ostreamput (char ch)
iostate rdstate () const
ostreamseekp (pos_type pos)
ostreamseekp (off_type off, ios_base::seekdir way)
fmtflags setf (fmtflags fl)
fmtflags setf (fmtflags fl, fmtflags mask)
void setstate (iostate state)
pos_type tellp ()
void unsetf (fmtflags fl)
int width ()
int width (unsigned int n)

Static Public Attributes

static const fmtflags adjustfield = left | right | internal
static const openmode app = 0x04
static const openmode ate = 0x08
static const iostate badbit = 0X01
static const fmtflags basefield = dec | hex | oct
static const openmode binary = 0x10
static const fmtflags boolalpha = 0x0100
static const fmtflags dec = 0x0008
static const iostate eofbit = 0x02
static const iostate failbit = 0X04
static const iostate goodbit = 0x00
static const fmtflags hex = 0x0010
static const openmode in = 0x20
static const fmtflags internal = 0x0004
static const fmtflags left = 0x0001
static const fmtflags oct = 0x0020
static const openmode out = 0x40
static const fmtflags right = 0x0002
static const fmtflags showbase = 0x0200
static const fmtflags showpoint = 0x0400
static const fmtflags showpos = 0x0800
static const fmtflags skipws = 0x1000
static const openmode trunc = 0x80
static const fmtflags uppercase = 0x4000

Private Member Functions

bool contiguousRange (uint32_t *bgnBlock, uint32_t *endBlock)
bool createContiguous (SdFile *dirFile, const char *path, uint32_t size)
uint32_t curCluster () const
uint32_t curPosition () const
bool dirEntry (dir_t *dir)
bool exists (const char *name)
uint32_t fileSize () const
uint32_t firstCluster () const
bool getFilename (char *name)
void getpos (fpos_t *pos)
bool isDir () const
bool isFile () const
bool isOpen () const
bool isRoot () const
bool isSubDir () const
void ls (uint8_t flags=0, uint8_t indent=0)
bool mkdir (SdFile *dir, const char *path, bool pFlag=true)
bool open (SdFile *dirFile, uint16_t index, uint16_t oflag)
bool open (SdFile *dirFile, const char *path, uint16_t oflag)
bool open (const char *path, uint16_t oflag)
bool openRoot (SdVolume *vol)
void print (long, int=DEC)
void print (char, int=BYTE)
void print (const String &)
void print (const char[])
void print (unsigned char, int=BYTE)
void print (int, int=DEC)
void print (unsigned int, int=DEC)
void print (unsigned long, int=DEC)
void print (double, int=2)
void println (unsigned int, int=DEC)
void println (void)
void println (unsigned char, int=BYTE)
void println (double, int=2)
void println (long, int=DEC)
void println (int, int=DEC)
void println (const String &s)
void println (unsigned long, int=DEC)
void println (char, int=BYTE)
void println (const char[])
bool printName ()
int16_t read ()
int16_t read (void *buf, uint16_t nbyte)
int8_t readDir (dir_t *dir)
bool remove ()
void rewind ()
bool rmdir ()
bool rmRfStar ()
bool seekCur (int32_t offset)
bool seekEnd (int32_t offset=0)
bool seekSet (uint32_t pos)
void setpos (fpos_t *pos)
bool sync ()
bool timestamp (uint8_t flag, uint16_t year, uint8_t month, uint8_t day, uint8_t hour, uint8_t minute, uint8_t second)
bool truncate (uint32_t size)
uint8_t type () const
SdVolumevolume () const
virtual void write (const uint8_t *buffer, size_t size)
void write (uint8_t b)
int16_t write (const void *buf, uint16_t nbyte)
void write (const char *str)
void write_P (PGM_P str)
void writeln_P (PGM_P str)

Static Private Member Functions

static void dateTimeCallback (void(*dateTime)(uint16_t *date, uint16_t *time))
static void dateTimeCallbackCancel ()
static void dirName (const dir_t &dir, char *name)
static void printDirName (const dir_t &dir, uint8_t width, bool printSlash=true)
static void printFatDate (uint16_t fatDate)
static void printFatTime (uint16_t fatTime)
static void printTwoDigits (uint8_t v)
static bool remove (SdFile *dirFile, const char *path)

Private Attributes

bool writeError

Detailed Description

SD card output stream.


Member Typedef Documentation

typedef unsigned int ios_base::fmtflags [inherited]

type for format flags

typedef unsigned char ios_base::iostate [inherited]

typedef for iostate bitmask

typedef int32_t ios_base::off_type [inherited]

type for relative seek offset

typedef uint8_t ios_base::openmode [inherited]

typedef for iostream open mode

typedef uint32_t ios_base::pos_type [inherited]

type for absolute seek position

typedef uint32_t ios_base::streamsize [inherited]

unsigned size that can represent maximum file size. (violates spec - should be signed)


Member Enumeration Documentation

enum ios_base::seekdir [inherited]

enumerated type for the direction of relative seeks

Enumerator:
beg 

seek relative to the beginning of the stream

cur 

seek relative to the current stream position

end 

seek relative to the end of the stream


Constructor & Destructor Documentation

ofstream::ofstream ( const char *  path,
ios::openmode  mode = ios::out 
) [inline]

constructor with open

Parameters:
[in]pathfile to open
[in]modeopen mode

Member Function Documentation

bool ios::bad (  ) const [inline, inherited]
Returns:
true if bad bit is set else false.
void ofstream::clear ( iostate  state = goodbit ) [inline]

clear state and writeError

Parameters:
[in]statenew state for stream

Reimplemented from ios.

void ofstream::close (  ) [inline]

Close a file and force cached data and directory information to be written to the storage device.

Reimplemented from SdFile.

bool ios::eof (  ) const [inline, inherited]
Returns:
true if end of file has been reached else false.

Warning: An empty file returns false before the first read.

Moral: eof() is only useful in combination with fail(), to find out whether EOF was the cause for failure

bool ios::fail (  ) const [inline, inherited]
Returns:
true if any iostate bit other than eof are set else false.
char ios_base::fill (  ) [inline, inherited]
Returns:
fill character
char ios_base::fill ( char  c ) [inline, inherited]

Set fill character

Parameters:
[in]cnew fill character
Returns:
old fill character
fmtflags ios_base::flags (  ) const [inline, inherited]
Returns:
format flags
fmtflags ios_base::flags ( fmtflags  fl ) [inline, inherited]

set format flags

Parameters:
[in]flnew flag
Returns:
old flags
uint8_t ios_base::flagsToBase (  ) [inline, inherited]
Returns:
current number base
ostream& ostream::flush (  ) [inline, inherited]

Flushes the buffer associated with this stream. The flush function calls the sync function of the associated file.

Returns:
A reference to the ostream object.
bool ios::good (  ) const [inline, inherited]
Returns:
True if no iostate flags are set else false.
bool ofstream::is_open (  ) [inline]
Returns:
True if stream is open else false.
void ofstream::open ( const char *  path,
openmode  mode = out 
) [inline]

Open an ofstream

Parameters:
[in]pathfile to open
[in]modeopen mode

See fstream::open(), for modes. ofstreams can not be read with ios::in.

ios::operator const void * (  ) const [inline, inherited]
Returns:
null pointer if fail() is true.
bool ios::operator! (  ) const [inline, inherited]
Returns:
true if fail() else false.
ostream& ostream::operator<< ( const char *  arg ) [inline, inherited]

Output string

Parameters:
[in]argstring to output
Returns:
the stream
ostream& ostream::operator<< ( double  arg ) [inline, inherited]

Output double

Parameters:
[in]argvalue to output
Returns:
the stream
ostream& ostream::operator<< ( uint16_t  arg ) [inline, inherited]

Output unsigned int

Parameters:
[in]argvalue to output
Returns:
the stream
ostream& ostream::operator<< ( int32_t  arg ) [inline, inherited]

Output signed long

Parameters:
[in]argvalue to output
Returns:
the stream
ostream& ostream::operator<< ( uint32_t  arg ) [inline, inherited]

Output uint32_t

Parameters:
[in]argvalue to output
Returns:
the stream
ostream& ostream::operator<< ( const signed char *  arg ) [inline, inherited]

Output string

Parameters:
[in]argstring to output
Returns:
the stream
ostream& ostream::operator<< ( const void *  arg ) [inline, inherited]

Output pointer

Parameters:
[in]argvalue to output
Returns:
the stream
ostream& ostream::operator<< ( const unsigned char *  arg ) [inline, inherited]

Output string

Parameters:
[in]argstring to output
Returns:
the stream
ostream& ostream::operator<< ( pgm  arg ) [inline, inherited]

Output a string from flash

Parameters:
[in]argpgm struct pointing to string
Returns:
the stream
ostream& ostream::operator<< ( ostream &(*)(ostream &str)  pf ) [inline, inherited]

call manipulator

Parameters:
[in]pffunction to call
Returns:
the stream
ostream& ostream::operator<< ( signed char  arg ) [inline, inherited]

Output character

Parameters:
[in]argcharacter to output
Returns:
the stream
ostream& ostream::operator<< ( unsigned char  arg ) [inline, inherited]

Output character

Parameters:
[in]argcharacter to output
Returns:
the stream
ostream& ostream::operator<< ( ios_base &(*)(ios_base &str)  pf ) [inline, inherited]

call manipulator

Parameters:
[in]pffunction to call
Returns:
the stream
ostream& ostream::operator<< ( char  arg ) [inline, inherited]

Output character

Parameters:
[in]argcharacter to output
Returns:
the stream
ostream& ostream::operator<< ( bool  arg ) [inline, inherited]

Output bool

Parameters:
[in]argvalue to output
Returns:
the stream
ostream& ostream::operator<< ( int16_t  arg ) [inline, inherited]

Output signed int

Parameters:
[in]argvalue to output
Returns:
the stream
int ios_base::precision ( unsigned int  n ) [inline, inherited]

set precision

Parameters:
[in]nnew precision
Returns:
old precision
int ios_base::precision (  ) const [inline, inherited]
Returns:
precision
ostream& ostream::put ( char  ch ) [inline, inherited]

Puts a character in a stream.

The unformatted output function inserts the element ch. It returns *this.

Parameters:
[in]chThe character
Returns:
A reference to the ostream object.
iostate ios::rdstate (  ) const [inline, inherited]
Returns:
The iostate flags for this SdFile.
ostream& ostream::seekp ( off_type  off,
ios_base::seekdir  way 
) [inherited]

Set the stream position

Parameters:
[in]offAn offset to move the read pointer relative to way. off is a signed 32-bit int so the offset is limited to +- 2GB.
[in]wayOne of the ios_base::seekdir enumerations.
Returns:
Is always *this. Failure is indicated by the state of *this.
ostream& ostream::seekp ( pos_type  pos ) [inherited]

Set the stream position

Parameters:
[in]posThe absolute position in which to move the read pointer.
Returns:
Is always *this. Failure is indicated by the state of *this.
fmtflags ios_base::setf ( fmtflags  fl,
fmtflags  mask 
) [inline, inherited]

modify format flags

Parameters:
[in]maskflags to be removed
[in]flflags to be set after mask bits have been cleared
Returns:
old flags
fmtflags ios_base::setf ( fmtflags  fl ) [inline, inherited]

set format flags

Parameters:
[in]flnew flags to be or'ed in
Returns:
old flags
void ios::setstate ( iostate  state ) [inline, inherited]

Set iostate bits.

Parameters:
[in]stateBitts to set.
pos_type ostream::tellp (  ) [inherited]
Returns:
the stream position
void ios_base::unsetf ( fmtflags  fl ) [inline, inherited]

clear format flags

Parameters:
[in]flflags to be cleared
Returns:
old flags
int ios_base::width ( unsigned int  n ) [inline, inherited]

set width

Parameters:
[in]nnew width
Returns:
old width
int ios_base::width (  ) [inline, inherited]
Returns:
width

Member Data Documentation

const fmtflags ios_base::adjustfield = left | right | internal [static, inherited]

mask for adjustfield

const openmode ios_base::app = 0x04 [static, inherited]

seek to end before each write

const openmode ios_base::ate = 0x08 [static, inherited]

open and seek to end immediately after opening

const iostate ios_base::badbit = 0X01 [static, inherited]

iostate bad bit for a non-recoverable error.

const fmtflags ios_base::basefield = dec | hex | oct [static, inherited]

mask for basefield

const openmode ios_base::binary = 0x10 [static, inherited]

perform input and output in binary mode (as opposed to text mode)

const fmtflags ios_base::boolalpha = 0x0100 [static, inherited]

use strings true/false for bool

const fmtflags ios_base::dec = 0x0008 [static, inherited]

base 10 flag

const iostate ios_base::eofbit = 0x02 [static, inherited]

iostate bit for end of file reached

const iostate ios_base::failbit = 0X04 [static, inherited]

iostate fail bit for non-fatal error

const iostate ios_base::goodbit = 0x00 [static, inherited]

iostate for no flags

const fmtflags ios_base::hex = 0x0010 [static, inherited]

base 16 flag

const openmode ios_base::in = 0x20 [static, inherited]

open for input

const fmtflags ios_base::internal = 0x0004 [static, inherited]

fill between sign/base prefix and number

const fmtflags ios_base::left = 0x0001 [static, inherited]

left adjust fields

const fmtflags ios_base::oct = 0x0020 [static, inherited]

base 8 flag

const openmode ios_base::out = 0x40 [static, inherited]

open for output

const fmtflags ios_base::right = 0x0002 [static, inherited]

right adjust fields

const fmtflags ios_base::showbase = 0x0200 [static, inherited]

use prefix 0X for hex and 0 for oct

const fmtflags ios_base::showpoint = 0x0400 [static, inherited]

always show '.' for floating numbes

const fmtflags ios_base::showpos = 0x0800 [static, inherited]

show + sign for non-negative numbers

const fmtflags ios_base::skipws = 0x1000 [static, inherited]

skip initial white space

const openmode ios_base::trunc = 0x80 [static, inherited]

truncate an existing stream when opening

const fmtflags ios_base::uppercase = 0x4000 [static, inherited]

use uppercase letters in number representations


The documentation for this class was generated from the following file: