# std::streamoff

From cppreference.com
< cpp‎ | io

Defined in header `<ios>` |  |
typedef /*unspecified*/ streamoff; |  |

The type `std::streamoff` is a signed integral type of sufficient size to represent the maximum possible file size supported by the operating system. Typically, this is a typedef to long long.

It is used to represent offsets from stream positions (values of type std::fpos). A `std::streamoff` value of -1 is also used to represent error conditions by some of the I/O library functions.

### Relationship with std::fpos

- the difference between two std::fpos objects is a value of type std::streamoff

- a value of type std::streamoff may 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

### See also

fpos | represents absolute position in a stream or a file (class template)
seekg | sets the input position indicator (public member function of `std::basic_istream<CharT,Traits>`)
seekp | sets the output position indicator (public member function of `std::basic_ostream<CharT,Traits>`)

Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/io/streamoff&oldid=107865"