02 cout的格式化輸出

2022-09-06 21:00:17 字數 2220 閱讀 6836

1.輸出進製

cout.setf(std::ios_base::dec);//設為十進位制

cout << 16 << endl;//列印十進位制16

cout.setf(std::ios_base::hex);//設為十六進製制

cout << 16 << endl;//列印10,沒有0x字首

cout.setf(std::ios_base::oct);//設為八進位制

cout << 16 << endl;//列印20,沒有0字首

cout.unsetf(std::ios_base::oct);//使指定標誌位關閉

cout << 16 << endl;//列印十進位制16

cout << std::hex << 16 << endl//std::hex內部呼叫setf

<< std::oct << 16 << endl

<< std::dec << 16 << endl;

cout << std::showbase //std::showbase內部呼叫setf(ios_base::showbase)

<< std::hex << 16 << endl//列印0x10

<< std::oct << 16 << endl//列印020

<< std::dec << 16 << endl;//列印16

cout << std::hex << std::uppercase//浮點和十六進製制整數的輸出中使用大寫

<< 169 << endl//0xa9

<< 179 << endl//0xb3

<< 189 << endl//0xbd

<< std::scientific

<< 123.456 << endl

<< 567.123 << endl;

2.科學記數法

cout.setf(std::ios_base::scientific, std::ios_base::floatfield);//設定flag

cout << 2345.678 << endl;

cout.unsetf(std::ios_base::scientific);//取消flag

cout << 2345.678 << endl;

cout << std::scientific //std::scientific內部呼叫setf

<< 2345.678 << endl;

cout.setf(std::ios_base::fixed, std::ios_base::floatfield);//設定flag

cout << 2345.678 << endl;

cout << std::fixed << 2345.678 << endl;//std::fixed內部呼叫setf

3.設定精度

cout.precision(6);//設定精度為3

cout << 2345.678 << endl;

4.設定對齊

cout.width(10);

cout.fill('$');//設定填充字元,預設為空格

cout << std::right << "hello" << endl;//列印$$$$$hello

cout.width(10);//再呼叫一次

cout << std::left << "hello" << endl;//hello$$$$$

5.cin的用法

char name[100] = {};

int age = 0;

//符合預期的情況

cin >> name >> age;//假設輸入一行,內容為:jack 19

cout << name << " " << age << endl;//輸出為:jack 19

//不符合預期的情況,空白,回車,tab都會截斷

cin >> name >> age;//假設輸入一行,內容為:jack joe 19

cout << name << " " << age;//輸出為:jack 0

//清掉cin緩衝區裡的資料

long long count = cin.rdbuf()->in_**ail();

cin.ignore(count);

//讀取一行,包括空格和tab

cin.getline(name, sizeof(name));

cout << name;

cout格式化輸出

在使用setf等庫函式時使用 在使用流操縱運算元時使用 using namespace std 以下所有的setf 都有對應的unsetf 用於取消設定 所有的setiosflags 可以用resetiosflags 取消 標誌位fmtflags的命名空間可以使用ios base 或者ios int...

cout格式化輸出

需要引入的標頭檔案 include在使用流操縱運算元時使用 int laneri 12345 double lanerd 56789 1 設定整數進製輸出 過載1 fmtflags ios base setf fmtflags mask 過載2 fmtflags ios base setf fmtf...

cout格式化輸出

在c語言中,我們一般用printf 函式來進行輸出,通過輸出字串中的格式說明符 如 4.2d 可以很容易地格式化輸出。而在c 中,為簡便起見,往往不指定輸出的格式,由系統根據資料的型別採取預設的格式,但有時也需要資料按我們指定的格式輸出,比如以十六進製制的形式輸出乙個整數等。有兩種方法可以達到格式化...