ifstream Class Reference

file input stream. More...

`#include <fstream.h>`

Inheritance diagram for ifstream:
[legend]
Collaboration diagram for ifstream:
[legend]

## 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)
streamsize | gcount () const
int | get ()
istream & | get (char &ch)
istream & | get (char *str, streamsize n, char delim='\n')
istream & | getline (char *str, streamsize n, 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=in)
| operator const void * () const
bool | operator! () const
istream & | operator>> (istream &(*pf)(istream &str))
istream & | operator>> (ios_base &(*pf)(ios_base &str))
istream & | operator>> (ios &(*pf)(ios &str))
istream & | operator>> (char *str)
istream & | operator>> (char &ch)
istream & | operator>> (signed char *str)
istream & | operator>> (signed char &ch)
istream & | operator>> (unsigned char *str)
istream & | operator>> (unsigned char &ch)
istream & | operator>> (bool &arg)
istream & | operator>> (short &arg)
istream & | operator>> (unsigned short &arg)
istream & | operator>> (int &arg)
istream & | operator>> (unsigned int &arg)
istream & | operator>> (long &arg)
istream & | operator>> (unsigned long &arg)
istream & | operator>> (double &arg)
istream & | operator>> (float &arg)
istream & | operator>> (void *&arg)
int | peek ()
int | peek ()
int | precision () const
int | precision (unsigned int n)
iostate | rdstate () const
istream & | seekg (pos_type pos)
istream & | seekg (off_type off, seekdir way)
fmtflags | setf (fmtflags fl)
fmtflags | setf (fmtflags fl, fmtflags mask)
void | setstate (iostate state)
void | skipWhite ()
pos_type | tellg ()
void | unsetf (fmtflags fl)
unsigned | width ()
unsigned | width (unsigned n)

## Static Public Attributes

static const fmtflags | adjustfield = left | right | internal
static const openmode | app = 0X4
static const openmode | ate = 0X8
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 | open (FatFileSystem *fs, const char *path, oflag_t oflag)
bool | open (FatFile *dirFile, uint16_t index, oflag_t oflag)
bool | open (FatFile *dirFile, const char *path, oflag_t oflag)
int | peek ()

## Detailed Description

file input stream.

## Member Typedef Documentation

## fmtflags

typedef unsigned int ios_base::fmtflags

inherited

type for format flags

## iostate

typedef unsigned char ios_base::iostate

inherited

typedef for iostate bitmask

## off_type

typedef int32_t ios_base::off_type

inherited

type for relative seek offset

## openmode

typedef uint8_t ios_base::openmode

inherited

typedef for iostream open mode

## pos_type

typedef uint32_t ios_base::pos_type

inherited

type for absolute seek position

## streamsize

typedef uint32_t ios_base::streamsize

inherited

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

## Member Enumeration Documentation

## seekdir

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

## ifstream()

ifstream::ifstream | ( | const char * | path,
|  | openmode | mode = `in`
| ) |  |

inline explicit

Constructor with open

Parameters

  [in] | path | file to open
  [in] | mode | open mode

## Member Function Documentation

## bad()

bool ios::bad | ( |  | ) | const

inline inherited

Returns
  true if bad bit is set else false.

## clear()

void ios::clear | ( | iostate | state = `goodbit` | ) |

inline inherited

Clear iostate bits.

Parameters

  [in] | state | The flags you want to set after clearing all flags.

## close()

void ifstream::close | ( |  | ) |

inline

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

## eof()

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

## fail()

bool ios::fail | ( |  | ) | const

inline inherited

Returns
  true if any iostate bit other than eof are set else false.

## fill() [1/2]

char ios_base::fill | ( |  | ) |

inline inherited

Returns
  fill character

## fill() [2/2]

char ios_base::fill | ( | char | c | ) |

inline inherited

Set fill character

Parameters

  [in] | c | new fill character

Returns
  old fill character

## flags() [1/2]

fmtflags ios_base::flags | ( |  | ) | const

inline inherited

Returns
  format flags

## flags() [2/2]

fmtflags ios_base::flags | ( | fmtflags | fl | ) |

inline inherited

set format flags

Parameters

  [in] | fl | new flag

Returns
  old flags

## gcount()

streamsize istream::gcount | ( |  | ) | const

inline inherited

Returns
  The number of characters extracted by the last unformatted input function.

## get() [1/3]

int istream::get | ( |  | ) |

inherited

Extract a character if one is available.

Returns
  The character or -1 if a failure occurs. A failure is indicated by the stream state.

Copyright (c) 2011-2018 Bill Greiman This file is part of the SdFat library for SD memory cards.

MIT License

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

## get() [2/3]

istream & istream::get | ( | char & | ch | ) |

inherited

Extract a character if one is available.

Parameters

  [out] | ch | location to receive the extracted character.

Returns
  always returns *this. A failure is indicated by the stream state.

## get() [3/3]

istream & istream::get | ( | char * | str,
|  | streamsize | n,
|  | char | delim = `'\n'`
| ) |  |

inherited

Extract characters.

Parameters

  [out] | str | Location to receive 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.

Returns
  always returns *this. A failure is indicated by the stream state.

## getline()

istream & istream::getline | ( | char * | str,
|  | streamsize | n,
|  | char | delim = `'\n'`
| ) |  |

inherited

Extract characters

Parameters

  [out] | str | Location to receive 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.

Returns
  always returns *this. A failure is indicated by the stream state.

## good()

bool ios::good | ( |  | ) | const

inline inherited

Returns
  True if no iostate flags are set else false.

## ignore()

istream & istream::ignore | ( | streamsize | n = `1`,
|  | int | delim = `-1`
| ) |  |

inherited

Extract characters and discard them.

Parameters

  [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.

Returns
  *this

## is_open()

bool ifstream::is_open | ( |  | ) |

inline

Returns
  True if stream is open else false.

## open()

void ifstream::open | ( | const char * | path,
|  | openmode | mode = `in`
| ) |  |

inline

Open an ifstream

Parameters

  [in] | path | file to open
  [in] | mode | open mode

mode See fstream::open() for valid modes.

## operator const void *()

ios::operator const void * | ( |  | ) | const

inline inherited

Returns
  null pointer if fail() is true.

## operator!()

bool ios::operator! | ( |  | ) | const

inline inherited

Returns
  true if fail() else false.

## operator>>() [1/19]

istream& istream::operator>> | ( | istream &(*)(istream &str) | pf | ) |

inline inherited

call manipulator

Parameters

  [in] | pf | function to call

Returns
  the stream

## operator>>() [2/19]

istream& istream::operator>> | ( | ios_base &(*)(ios_base &str) | pf | ) |

inline inherited

call manipulator

Parameters

  [in] | pf | function to call

Returns
  the stream

## operator>>() [3/19]

istream& istream::operator>> | ( | ios &(*)(ios &str) | pf | ) |

inline inherited

call manipulator

Parameters

  [in] | pf | function to call

Returns
  the stream

## operator>>() [4/19]

istream& istream::operator>> | ( | char * | str | ) |

inline inherited

Extract a character string

Parameters

  [out] | str | location to store the string.

Returns
  Is always *this. Failure is indicated by the state of *this.

## operator>>() [5/19]

istream& istream::operator>> | ( | char & | ch | ) |

inline inherited

Extract a character

Parameters

  [out] | ch | location to store the character.

Returns
  Is always *this. Failure is indicated by the state of *this.

## operator>>() [6/19]

istream& istream::operator>> | ( | signed char * | str | ) |

inline inherited

Extract a character string

Parameters

  [out] | str | location to store the string.

Returns
  Is always *this. Failure is indicated by the state of *this.

## operator>>() [7/19]

istream& istream::operator>> | ( | signed char & | ch | ) |

inline inherited

Extract a character

Parameters

  [out] | ch | location to store the character.

Returns
  Is always *this. Failure is indicated by the state of *this.

## operator>>() [8/19]

istream& istream::operator>> | ( | unsigned char * | str | ) |

inline inherited

Extract a character string

Parameters

  [out] | str | location to store the string.

Returns
  Is always *this. Failure is indicated by the state of *this.

## operator>>() [9/19]

istream& istream::operator>> | ( | unsigned char & | ch | ) |

inline inherited

Extract a character

Parameters

  [out] | ch | location to store the character.

Returns
  Is always *this. Failure is indicated by the state of *this.

## operator>>() [10/19]

istream& istream::operator>> | ( | bool & | arg | ) |

inline inherited

Extract a value of type bool.

Parameters

  [out] | arg | location to store the value.

Returns
  Is always *this. Failure is indicated by the state of *this.

## operator>>() [11/19]

istream& istream::operator>> | ( | short & | arg | ) |

inline inherited

Extract a value of type short.

Parameters

  [out] | arg | location to store the value.

Returns
  Is always *this. Failure is indicated by the state of *this.

## operator>>() [12/19]

istream& istream::operator>> | ( | unsigned short & | arg | ) |

inline inherited

Extract a value of type unsigned short.

Parameters

  [out] | arg | location to store the value.

Returns
  Is always *this. Failure is indicated by the state of *this.

## operator>>() [13/19]

istream& istream::operator>> | ( | int & | arg | ) |

inline inherited

Extract a value of type int.

Parameters

  [out] | arg | location to store the value.

Returns
  Is always *this. Failure is indicated by the state of *this.

## operator>>() [14/19]

istream& istream::operator>> | ( | unsigned int & | arg | ) |

inline inherited

Extract a value of type unsigned int.

Parameters

  [out] | arg | location to store the value.

Returns
  Is always *this. Failure is indicated by the state of *this.

## operator>>() [15/19]

istream& istream::operator>> | ( | long & | arg | ) |

inline inherited

Extract a value of type long.

Parameters

  [out] | arg | location to store the value.

Returns
  Is always *this. Failure is indicated by the state of *this.

## operator>>() [16/19]

istream& istream::operator>> | ( | unsigned long & | arg | ) |

inline inherited

Extract a value of type unsigned long.

Parameters

  [out] | arg | location to store the value.

Returns
  Is always *this. Failure is indicated by the state of *this.

## operator>>() [17/19]

istream& istream::operator>> | ( | double & | arg | ) |

inline inherited

Extract a value of type double.

Parameters

  [out] | arg | location to store the value.

Returns
  Is always *this. Failure is indicated by the state of *this.

## operator>>() [18/19]

istream& istream::operator>> | ( | float & | arg | ) |

inline inherited

Extract a value of type float.

Parameters

  [out] | arg | location to store the value.

Returns
  Is always *this. Failure is indicated by the state of *this.

## operator>>() [19/19]

istream& istream::operator>> | ( | void *& | arg | ) |

inline inherited

Extract a value of type void*.

Parameters

  [out] | arg | location to store the value.

Returns
  Is always *this. Failure is indicated by the state of *this.

## peek() [1/2]

int istream::peek

Return the next available character without consuming it.

Returns
  The character if the stream state is good else -1;

## peek() [2/2]

int istream::peek | ( |  | ) |

inherited

Return the next available character without consuming it.

Returns
  The character if the stream state is good else -1;

## precision() [1/2]

int ios_base::precision | ( |  | ) | const

inline inherited

Returns
  precision

## precision() [2/2]

int ios_base::precision | ( | unsigned int | n | ) |

inline inherited

set precision

Parameters

  [in] | n | new precision

Returns
  old precision

## rdstate()

iostate ios::rdstate | ( |  | ) | const

inline inherited

Returns
  The iostate flags for this file.

## seekg() [1/2]

istream& istream::seekg | ( | pos_type | pos | ) |

inline inherited

Set the stream position

Parameters

  [in] | pos | The absolute position in which to move the read pointer.

Returns
  Is always *this. Failure is indicated by the state of *this.

## seekg() [2/2]

istream& istream::seekg | ( | off_type | off,
|  | seekdir | way
| ) |  |

inline inherited

Set the stream position.

Parameters

  [in] | off | An offset to move the read pointer relative to way. off is a signed 32-bit int so the offset is limited to +- 2GB.
  [in] | way | One of ios::beg, ios::cur, or ios::end.

Returns
  Is always *this. Failure is indicated by the state of *this.

## setf() [1/2]

fmtflags ios_base::setf | ( | fmtflags | fl | ) |

inline inherited

set format flags

Parameters

  [in] | fl | new flags to be or'ed in

Returns
  old flags

## setf() [2/2]

fmtflags ios_base::setf | ( | fmtflags | fl,
|  | fmtflags | mask
| ) |  |

inline inherited

modify format flags

Parameters

  [in] | mask | flags to be removed
  [in] | fl | flags to be set after mask bits have been cleared

Returns
  old flags

## setstate()

void ios::setstate | ( | iostate | state | ) |

inline inherited

Set iostate bits.

Parameters

  [in] | state | Bitts to set.

## skipWhite()

void istream::skipWhite | ( |  | ) |

inherited

used to implement ws()

## tellg()

pos_type istream::tellg | ( |  | ) |

inline inherited

Returns
  the stream position

## unsetf()

void ios_base::unsetf | ( | fmtflags | fl | ) |

inline inherited

clear format flags

Parameters

  [in] | fl | flags to be cleared

Returns
  old flags

## width() [1/2]

unsigned ios_base::width | ( |  | ) |

inline inherited

Returns
  width

## width() [2/2]

unsigned ios_base::width | ( | unsigned | n | ) |

inline inherited

set width

Parameters

  [in] | n | new width

Returns
  old width

## Member Data Documentation

## adjustfield

const fmtflags ios_base::adjustfield = left | right | internal

static inherited

mask for adjustfield

## app

const openmode ios_base::app = 0X4

static inherited

seek to end before each write

## ate

const openmode ios_base::ate = 0X8

static inherited

open and seek to end immediately after opening

## badbit

const iostate ios_base::badbit = 0X01

static inherited

iostate bad bit for a nonrecoverable error.

## basefield

const fmtflags ios_base::basefield = dec | hex | oct

static inherited

mask for basefield

## binary

const openmode ios_base::binary = 0X10

static inherited

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

## boolalpha

const fmtflags ios_base::boolalpha = 0x0100

static inherited

use strings true/false for bool

## dec

const fmtflags ios_base::dec = 0x0008

static inherited

base 10 flag

## eofbit

const iostate ios_base::eofbit = 0x02

static inherited

iostate bit for end of file reached

## failbit

const iostate ios_base::failbit = 0X04

static inherited

iostate fail bit for nonfatal error

## goodbit

const iostate ios_base::goodbit = 0x00

static inherited

iostate for no flags

## hex

const fmtflags ios_base::hex = 0x0010

static inherited

base 16 flag

## in

const openmode ios_base::in = 0X20

static inherited

open for input

## internal

const fmtflags ios_base::internal = 0x0004

static inherited

fill between sign/base prefix and number

## left

const fmtflags ios_base::left = 0x0001

static inherited

left adjust fields

## oct

const fmtflags ios_base::oct = 0x0020

static inherited

base 8 flag

## out

const openmode ios_base::out = 0X40

static inherited

open for output

## right

const fmtflags ios_base::right = 0x0002

static inherited

right adjust fields

## showbase

const fmtflags ios_base::showbase = 0x0200

static inherited

use prefix 0X for hex and 0 for oct

## showpoint

const fmtflags ios_base::showpoint = 0x0400

static inherited

always show '.' for floating numbers

## showpos

const fmtflags ios_base::showpos = 0x0800

static inherited

show + sign for nonnegative numbers

## skipws

const fmtflags ios_base::skipws = 0x1000

static inherited

skip initial white space

## trunc

const openmode ios_base::trunc = 0X80

static inherited

truncate an existing stream when opening

## uppercase

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:

- Arduino/libraries/SdFat/src/FatLib/fstream.h