cout 格式化輸出

2022-07-04 17:06:11 字數 1296 閱讀 3351

一直習慣於c語言的printf函式來列印,突然有一天要用cout來列印,發現有點不適應。

原來cout也是有格式化輸出的。

首先要引入標頭檔案

#include//

在使用setf等庫函式時使用

#include//

在使用流操縱運算元時使用

cout可以用setw來設定字串的長度,不足的話,可以用setfill來設定填充

string str = "

1401435919";

time_t ti =atoi(str.c_str());

struct tm* p = gmtime(&ti);

//printf的寫法

printf("

%04d/%02d/%02d %02d:%02d:%02d\n",

1900 + p->tm_year,

1 + p->tm_mon,

p->tm_mday,

8 + p->tm_hour,

p->tm_min,

p->tm_sec);

//cout的寫法

std::cout <'0'

) ; std::cout

<< std::setw(4) << 1900 + p->tm_year << "/"

<< std::setw(2) << 1 + p->tm_mon << "/"

<< std::setw(2) << p->tm_mday << "

"<< std::setw(2) << 8 + p->tm_hour << ":"

<< std::setw(2) << p->tm_min << ":"

<< std::setw(2) << p->tm_sec << std::endl;

輸出結果: 2014/05/30 15:45:19

以指定的進製輸出

int ival = 17

; std::cout

<<"

oct :

"21 : 8 進製

std::cout <<"

dec :

"17 : 10 進製

std::cout <<"

hex :

"11 : 16 進製

std::cout <<"

hex :

"<17.01

<< std::endl ; //

17.01 : 不受影響

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 中,為簡便起見,往往不指定輸出的格式,由系統根據資料的型別採取預設的格式,但有時也需要資料按我們指定的格式輸出,比如以十六進製制的形式輸出乙個整數等。有兩種方法可以達到格式化...