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