
- C++ Library - Home
- C++ Library - <fstream>
- C++ Library - <iomanip>
- C++ Library - <ios>
- C++ Library - <iosfwd>
- C++ Library - <iostream>
- C++ Library - <istream>
- C++ Library - <ostream>
- C++ Library - <sstream>
- C++ Library - <streambuf>
- C++ Library - <atomic>
- C++ Library - <complex>
- C++ Library - <exception>
- C++ Library - <functional>
- C++ Library - <limits>
- C++ Library - <locale>
- C++ Library - <memory>
- C++ Library - <new>
- C++ Library - <numeric>
- C++ Library - <regex>
- C++ Library - <stdexcept>
- C++ Library - <string>
- C++ Library - <thread>
- C++ Library - <tuple>
- C++ Library - <typeinfo>
- C++ Library - <utility>
- C++ Library - <valarray>
- The C++ STL Library
- C++ Library - <array>
- C++ Library - <bitset>
- C++ Library - <deque>
- C++ Library - <forward_list>
- C++ Library - <list>
- C++ Library - <map>
- C++ Library - <multimap>
- C++ Library - <queue>
- C++ Library - <priority_queue>
- C++ Library - <set>
- C++ Library - <stack>
- C++ Library - <unordered_map>
- C++ Library - <unordered_set>
- C++ Library - <vector>
- C++ Library - <algorithm>
- C++ Library - <iterator>
- The C++ Advanced Library
- C++ Library - <any>
- C++ Library - <barrier>
- C++ Library - <bit>
- C++ Library - <chrono>
- C++ Library - <cinttypes>
- C++ Library - <clocale>
- C++ Library - <condition_variable>
- C++ Library - <coroutine>
- C++ Library - <cstdlib>
- C++ Library - <cstring>
- C++ Library - <cuchar>
- C++ Library - <charconv>
- C++ Library - <cfenv>
- C++ Library - <cmath>
- C++ Library - <ccomplex>
- C++ Library - <expected>
- C++ Library - <format>
- C++ Library - <future>
- C++ Library - <flat_set>
- C++ Library - <flat_map>
- C++ Library - <filesystem>
- C++ Library - <generator>
- C++ Library - <initializer_list>
- C++ Library - <latch>
- C++ Library - <memory_resource>
- C++ Library - <mutex>
- C++ Library - <mdspan>
- C++ Library - <optional>
- C++ Library - <print>
- C++ Library - <ratio>
- C++ Library - <scoped_allocator>
- C++ Library - <semaphore>
- C++ Library - <source_location>
- C++ Library - <span>
- C++ Library - <spanstream>
- C++ Library - <stacktrace>
- C++ Library - <stop_token>
- C++ Library - <syncstream>
- C++ Library - <system_error>
- C++ Library - <string_view>
- C++ Library - <stdatomic>
- C++ Library - <variant>
- C++ STL Library Cheat Sheet
- C++ STL - Cheat Sheet
- C++ Programming Resources
- C++ Programming Tutorial
- C++ Useful Resources
- C++ Discussion
C++ istream::tellg() function
The C++ std::istream::tellg() function is used to get the current position of the input pointer in an input stream. This function returns a streampos object, that represents the position in the stream. It is commonly used to determine the current read position when working with file streams or other input streams.
If the function fails, it returns a special value std::istream::pso_type(-1) to indicate an error.
Syntax
Following is the syntax for std::istream::tellg() function.
streampos tellg();
Parameters
It does not accepts any parameter.
Return Value
This function returns the current position in the stream.
Exceptions
If an exception is thrown, the object is in a valid state.
Data races
Modifies the stream object.
Example
In the following example, we are going to consider the basic usage of tellg() function.
#include <iostream> #include <sstream> int main() { std::istringstream a("TutorialsPoint"); std::streampos x = a.tellg(); std::cout << "Initial position: " << x << std::endl; return 0; }
Output
Output of the above code is as follows −
Initial position: 0
Example
Consider the following example, where we are going to get the position after reading the character from the string.
#include <iostream> #include <sstream> int main() { std::istringstream x("Hi, Namaste"); char a; x.get(a); std::streampos y = x.tellg(); std::cout << "Position after reading character: " << y << std::endl; return 0; }
Output
Following is the output of the above code −
Position after reading character: 1
Example
In the following example, we are going to use the seekg() along with the tellg() function.
#include <iostream> #include <sstream> int main() { std::istringstream a("TutorialsPoint"); a.seekg(4); std::streampos x = a.tellg(); std::cout << "Position after seeking : " << x << std::endl; return 0; }
Output
If we run the above code it will generate the following output −
Position after seeking : 4