A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://www.tutorialspoint.com/cpp_standard_library/cpp_ios_copyfmt.htm below:

C++ IOS::copyfmt() function

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 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

ios.htm


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4