tellg() function in C++ with example

The tellg() function is used with input streams, and returns the current “get” position of the pointer in the stream. It has no parameters and returns a value of the member type pos_type, which is an integer data type representing the current position of the get stream pointer.

Syntax:-

pos_type tellg(); 

Returns: The current position of the get pointer on success, pos_type(-1) on failure.

Example 1




// C++ program to demonstrate 
// example of tellg() function.
#include <bits/stdc++.h>
using namespace std;
  
int main()
{
    string str = "w3wiki";
    istringstream in(str);
  
    string word;
    in >> word;
    cout << "After reading the word \"" << word
        << "\" tellg() returns " << in.tellg() << '\n';
}


Output:

After reading the word "w3wiki" tellg() returns -1

Example 2 :




// C++ program to demonstrate 
// example of tellg() function.
#include <bits/stdc++.h>
using namespace std;
  
int main()
{
    string str = "Hello, GFG";
    istringstream in(str);
  
    string word;    
    in >> word;
      
    cout << "After reading the word \"" << word
        << "\" tellg() returns " << in.tellg() << '\n';
}


Output:

After reading the word "Hello," tellg() returns 6

Properties:-
tellg() does not report the size of the file, nor the offset from the beginning in bytes. It reports a token value which can later be used to seek to the same place, and nothing more. (It’s not even guaranteed that you can convert the type to an integral type)