SD file input stream. More...
#include <SdStream.h>
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 () |
streamsize | gcount () const |
istream & | get (char *str, streamsize n, char delim= '\n') |
int | get () |
istream & | get (char &ch) |
istream & | getline (char *str, streamsize count, char delim= '\n') |
bool | good () const |
ifstream (const char *path, openmode mode=in) | |
istream & | ignore (streamsize n=1, int delim=-1) |
bool | is_open () |
void | open (const char *path, openmode mode=ios::in) |
operator const void * () const | |
bool | operator! () const |
istream & | operator>> (bool &arg) |
istream & | operator>> (int16_t &arg) |
istream & | operator>> (ios &(*pf)(ios &str)) |
istream & | operator>> (uint16_t &arg) |
istream & | operator>> (int32_t &arg) |
istream & | operator>> (uint32_t &arg) |
istream & | operator>> (char *str) |
istream & | operator>> (double &arg) |
istream & | operator>> (float &arg) |
istream & | operator>> (char &ch) |
istream & | operator>> (void *&arg) |
istream & | operator>> (ios_base &(*pf)(ios_base &str)) |
istream & | operator>> (signed char *str) |
istream & | operator>> (signed char &ch) |
istream & | operator>> (unsigned char *str) |
istream & | operator>> (istream &(*pf)(istream &str)) |
istream & | operator>> (unsigned char &ch) |
int | peek () |
int | precision () const |
int | precision (unsigned int n) |
iostate | rdstate () const |
istream & | seekg (pos_type pos) |
fmtflags | setf (fmtflags fl, fmtflags mask) |
fmtflags | setf (fmtflags fl) |
void | setstate (iostate state) |
void | skipWhite () |
pos_type | tellg () |
void | unsetf (fmtflags fl) |
int | width (unsigned int n) |
int | width () |
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 |
SdVolume * | volume () 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 |
SD file input stream.
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)
enum ios_base::seekdir [inherited] |
constructor with open
[in] | path | file to open |
[in] | mode | open mode |
bool ios::bad | ( | ) | const [inline, inherited] |
void ifstream::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] |
bool ios::fail | ( | ) | const [inline, inherited] |
char ios_base::fill | ( | ) | [inline, inherited] |
char ios_base::fill | ( | char | c ) | [inline, inherited] |
Set fill character
[in] | c | new fill character |
fmtflags ios_base::flags | ( | ) | const [inline, inherited] |
set format flags
[in] | fl | new flag |
uint8_t ios_base::flagsToBase | ( | ) | [inline, inherited] |
streamsize istream::gcount | ( | ) | const [inline, inherited] |
int istream::get | ( | ) | [inherited] |
Extract a character if one is available.
istream & istream::get | ( | char & | c ) | [inherited] |
Extract a character if one is available.
[out] | c | location to recieve the extracted character. |
istream & istream::get | ( | char * | str, |
streamsize | n, | ||
char | delim = '\n' |
||
) | [inherited] |
Extract characters.
[out] | str | Location to recieve extracted characters. |
[in] | n | Size of str. |
[in] | delim | Delimiter |
Characters are extracted until extraction fails, n is less than 1, n-1 characters are extracted, or the next character equals delim (delim is not extracted). If no characters are extracted failbit is set. If end-of-file occurs the eofbit is set.
istream & istream::getline | ( | char * | str, |
streamsize | n, | ||
char | delim = '\n' |
||
) | [inherited] |
Extract characters
[out] | str | Location to recieve extracted characters. |
[in] | n | Size of str. |
[in] | delim | Delimiter |
Characters are extracted until extraction fails, the next character equals delim (delim is extracted), or n-1 characters are extracted.
The failbit is set if no characters are extracted or n-1 characters are extracted. If end-of-file occurs the eofbit is set.
bool ios::good | ( | ) | const [inline, inherited] |
istream & istream::ignore | ( | streamsize | n = 1 , |
int | delim = -1 |
||
) | [inherited] |
Extract characters and discard them.
[in] | n | maximum number of characters to ignore. |
[in] | delim | Delimiter. |
Characters are extracted until extraction fails, n characters are extracted, or the next input character equals delim (the delimiter is extracted). If end-of-file occurs the eofbit is set.
Failures are indicated by the state of the stream.
bool ifstream::is_open | ( | ) | [inline] |
Open an ifstream
[in] | path | file to open |
[in] | mode | open mode |
mode must be ios::in with optional at end, ios::ate, and/or ios::binary.
ios::operator const void * | ( | ) | const [inline, inherited] |
bool ios::operator! | ( | ) | const [inline, inherited] |
istream& istream::operator>> | ( | uint16_t & | arg ) | [inline, inherited] |
Extract a value of type uint16_t
[out] | arg | location to store the value. |
call manipulator
[in] | pf | function to call |
istream& istream::operator>> | ( | char & | ch ) | [inline, inherited] |
Extract a character
[out] | ch | location to store the character. |
istream& istream::operator>> | ( | int32_t & | arg ) | [inline, inherited] |
Extract a value of type int32_t
[out] | arg | location to store the value. |
istream& istream::operator>> | ( | uint32_t & | arg ) | [inline, inherited] |
Extract a value of type uint32_t
[out] | arg | location to store the value. |
istream& istream::operator>> | ( | double & | arg ) | [inline, inherited] |
Extract a value of type float
[out] | arg | location to store the value. |
istream& istream::operator>> | ( | signed char * | str ) | [inline, inherited] |
Extract a character string
[out] | str | location to store the string. |
call manipulator
[in] | pf | function to call |
istream& istream::operator>> | ( | void *& | arg ) | [inline, inherited] |
Extract a value of type void
[out] | arg | location to store the value. |
call manipulator
[in] | pf | function to call |
istream& istream::operator>> | ( | signed char & | ch ) | [inline, inherited] |
Extract a character
[out] | ch | location to store the character. |
istream& istream::operator>> | ( | unsigned char * | str ) | [inline, inherited] |
Extract a character string
[out] | str | location to store the string. |
istream& istream::operator>> | ( | float & | arg ) | [inline, inherited] |
Extract a value of type float
[out] | arg | location to store the value. |
istream& istream::operator>> | ( | unsigned char & | ch ) | [inline, inherited] |
Extract a character
[out] | ch | location to store the character. |
istream& istream::operator>> | ( | bool & | arg ) | [inline, inherited] |
Extract a value of type bool
[out] | arg | location to store the value. |
istream& istream::operator>> | ( | int16_t & | arg ) | [inline, inherited] |
Extract a value of type int16_t
[out] | arg | location to store the value. |
istream& istream::operator>> | ( | char * | str ) | [inline, inherited] |
Extract a character string
[out] | str | location to store the string. |
int istream::peek | ( | ) | [inherited] |
Return the next available character without consuming it.
int ios_base::precision | ( | unsigned int | n ) | [inline, inherited] |
set precision
[in] | n | new precision |
int ios_base::precision | ( | ) | const [inline, inherited] |
Set the stream position
[in] | pos | The absolute position in which to move the read pointer. |
set format flags
[in] | fl | new flags to be or'ed in |
modify format flags
[in] | mask | flags to be removed |
[in] | fl | flags to be set after mask bits have been cleared |
void ios::setstate | ( | iostate | state ) | [inline, inherited] |
Set iostate bits.
[in] | state | Bitts to set. |
void istream::skipWhite | ( | ) | [inherited] |
used to implement ws()
pos_type istream::tellg | ( | ) | [inline, inherited] |
void ios_base::unsetf | ( | fmtflags | fl ) | [inline, inherited] |
clear format flags
[in] | fl | flags to be cleared |
int ios_base::width | ( | ) | [inline, inherited] |
int ios_base::width | ( | unsigned int | n ) | [inline, inherited] |
set width
[in] | n | new width |
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