std::streamoff
From cppreference.com
 
 
 
 
 
 C++ 
 Feature test macros (C++20)
 Concepts library (C++20)
 Metaprogramming library (C++11)
 Ranges library (C++20)
 Filesystem library (C++17)
 Concurrency support library (C++11)
 Execution control library (C++26)
Input/output library 
 
 
 
 
 
 
 
 
 
 
 
 
 
 Print functions (C++23)
 Buffers
(C++23)
(C++98/26*)
(C++20)
 Streams
 Abstractions
 File I/O
 String I/O
 Array I/O
(C++23)
(C++23)
(C++23)
(C++98/26*)
(C++98/26*)
(C++98/26*)
 Synchronized Output
(C++20)
 Types
streamoff
 Error category interface
(C++11)
(C++11)
Defined in header 
 
 
<ios> 
 typedef /*implementation-defined*/ streamoff;
 
 
The type std::streamoff is an implementation-defined signed integral(since C++11) type of sufficient size to represent the maximum possible file size supported by the operating system. Typically, this is an alias for long long.(since C++11)
It is used to represent offsets from stream positions (values of type std::fpos ). A std::streamoff value constructed from -1 is also used to represent error conditions by some of the I/O library functions.
[edit] Relationship with std::fpos
-  the difference between two std::fpos  objects is a value of type std::streamoff
-  a value of type std::streamoffmay be added or subtracted from std::fpos yielding a different std::fpos .
-  a value of type std::fpos  is implicitly convertible to std::streamoff(the conversion result is the offset from the beginning of the file).
-  a value of type std::fpos  is constructible from a value of type std::streamoff
[edit] See also
 
 sets the input position indicator 
(public member function of
(public member function of
std::basic_istream<CharT,Traits>) [edit]