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 = "geeksforgeeks" ;
istringstream in(str);
string word;
in >> word;
cout << "After reading the word \"" << word
<< "\" tellg() returns " << in.tellg() << '\n' ;
} |
After reading the word "geeksforgeeks" 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' ;
} |
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)