Reference
C Library
IOstream Library
Strings library
STL Containers
STL Algorithms
Miscellaneous
IOstream Library
manipulators
classes:
filebuf
fstream
ifstream
ios
iostream
ios_base
istream
istringstream
ofstream
ostream
ostringstream
streambuf
stringbuf
stringstream
objects:
cerr
cin
clog
cout
types:
fpos
streamoff
streampos
streamsize
istream
istream::istream
istream::~istream
member classes:
istream::sentry
member functions:
istream::gcount
istream::get
istream::getline
istream::ignore
istream::operator>>
istream::peek
istream::putback
istream::read
istream::readsome
istream::seekg
istream::sync
istream::tellg
istream::unget


istream::tellg

public member function
streampos tellg ( );

Get position of the get pointer.

Returns the absolute position of the get pointer.

The get pointer determines the next location in the input sequence to be read by the next input operation.

Parameters

none

Return Value

An integral value of type streampos with the number of characters between the beginning of the input sequence and the current position.

Failure is indicated by returning a value of -1.

Example

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
// read a file into memory
#include <iostream>
#include <fstream>
using namespace std;
int main () {
  int length;
  char * buffer;
  ifstream is;
  is.open ("test.txt", ios::binary );
  // get length of file:
  is.seekg (0, ios::end);
  length = is.tellg();
  is.seekg (0, ios::beg);
  // allocate memory:
  buffer = new char [length];
  // read data as a block:
  is.read (buffer,length);
  is.close();
  cout.write (buffer,length);
  return 0;
}


In this example, tellg is used to get the position in the stream after it has been moved with seekg to the end of the stream, therefore determining the size of the file.

Basic template member declaration

(basic_istream<charT,traits>)
1
2
typedef traits::pos_type pos_type;
pos_type tellg ();


See also