250x250
Notice
Recent Posts
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
관리 메뉴

일상 코딩

[C++/CPP] 18.02. ostream output 본문

C++/따배C++ 18강 입력과 출력

[C++/CPP] 18.02. ostream output

polarcompass 2021. 12. 17. 20:40
728x90
#include<iostream>
#include<iomanip>

using namespace std;

int main()
{
    {// 앞에 + 기호가 출력됨.
    // +108
    cout.setf(std::ios::showpos);
    cout << 108 << endl;

    // 16진수로 표현
    // 먼저 10진수 표현을 꺼줘야함.
    cout.unsetf(std::ios::dec);
    cout.setf(std::ios::hex);
    cout << 108 << endl;
    }

    {
        cout.setf(std::ios::hex, std::ios::basefield);
        cout << 108 << endl;
    }
    cout.unsetf(std::ios::showpos);

    {
        cout << std::hex;
        cout << 108 << endl;
        cout << 109 << endl;

        // 다시 10 진수로 돌아가기
        cout << std::dec;
        cout << 110 << endl;
    }

    {
        // 대문자로 출력하기
        cout << std::hex << std::uppercase;
        cout << 108 << endl;
        cout << 109 << endl;
    }

    { // bool 값 출력시
        cout << std::boolalpha;
        cout << true << " " << false << endl;
    }

    {
        // cout << std::defaultfloat;
        // cout << std::fixed;
        // cout << std::scientific << std::uppercase;
        cout << std::showpoint; // 소수점 표시
        for (int i=1; i < 8; ++i)
            cout << std::setprecision(i) << 123.456 << endl;
    }

    {
        cout << std::dec;
        cout << -12345 << endl;
        cout.fill('*'); // 빈칸 *로 채우기
        cout << std::setw(10) << -12345 << endl;
        cout << std::setw(10) << std::left << -12345 << endl;
        cout << std::setw(10) << std::right << -12345 << endl;
        cout << std::setw(10) << std::internal << -12345 << endl;
    }



    return 0;
}
728x90