
- 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::copyfmt() function
The C++ std::ios::copyfmt() function is used to copy the format settings of one stream to another. It transfer settings like flags, precision, and fill character from one stream object to another, ensuring consistent formatting.
By using the copyfmt() we can streamline code and maintain the formatting consistency.
After the call, the following member functions return the same for rhs and *this −
element | description |
---|---|
flags | format flags |
width | field width |
precision | precision |
getloc | selected locale |
iarray | internal extensible array * |
parray | internal extensible array * |
fill | fill character |
tie | tied stream |
exceptions | exceptions mask (last to be copied, see below) |
Syntax
Following is the syntax for std::ios::copyfmt() function.
ios& copyfmt (const ios& rhs);
Parameters
- rhs − It indicates the stream object whose members are copied to *this.
Return Value
This function returns the *this.
Exceptions
If an exception is thrown, the stream is in a valid state.
Data races
Modifies the stream object (*this), and accesses rhs.
Concurrent access to any of the objects may cause data races.
Example
In the following example, we are going to consider the basic usage of the copyfmt() function.
#include <iostream> #include <iomanip> int main() { std::cout << "Original Formatting:\n"; std::cout << std::setw(10) << 1122 << '\n'; std::ios x(nullptr); x.copyfmt(std::cout); std::cout << std::fixed << std::setprecision(2); std::cout << "Modified Formatting:\n"; std::cout << 12.12<< '\n'; return 0; }
Output
Output of the above code is as follows −
Original Formatting: 1122 Modified Formatting: 12.12
Example
Consider the following example, where we are going to transfer formatting between different stream objects.
#include <iostream> #include <iomanip> int main() { std::cout << "Original Formatting :\n"; std::cout << std::hex << 462 << '\n'; std::ostringstream a; std::ostringstream x; x.copyfmt(a); std::cout.copyfmt(a); std::cout << "Modified Formatting :\n"; std::cout << std::dec << 1122 << '\n'; return 0; }
Output
Following is the output of the above code −
Original Formatting : 1ce Modified Formatting : 1122