
- 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++ IOS::init() function
The C++ std::ios::init() function is used to initialize the input/output stream object internal state. It is called ny stream constructors and assignment operators to set up the streams buffer, errors. It ensures that the stream is in a usable state before any operations are performed on it.
The init() function is not required for standard use cases, as the streams are initialized automatically by the c++ library.
The internal state is initialized in such a way that each of these members return the following values −
member function | return value |
---|---|
rdbuf | sb |
tie | 0 |
rdstate | goodbit if sb is not a null pointer, badbit otherwise |
exceptions | goodbit |
flags | skipws | dec |
width | 0 |
precision | 6 |
fill | ' ' (whitespace) |
getloc | a copy of locale() |
Syntax
Following is the syntax for std::ios::init() function.
protected:void init (streambuf* sb);
Parameters
- sb − It indicates the pointer to a streambuf object.
Return Value
This function does not return anything.
Exceptions
If an exception is thrown, the stream is in a valid state.
Data races
Modifies the stream object. The object pointed by sb may be accessed and/or modified.
Concurrent access to the same stream object or stream buffer may cause data races.
Example
In the following example, we are going to consider the basic usage of the init() function.
#include <iostream> int main() { std::ostream a(nullptr); a.setstate(std::ios::failbit); std::cout << "TutorialsPoint." << std::endl; return 0; }
Output
Output of the above code is as follows −
TutorialsPoint.