1. 程式人生 > >C++ cout cin格式控制符

C++ cout cin格式控制符

void IOform(){
    cout << boolalpha << true << ' ' << false << endl << endl;

    cout << "Oct:" << oct << 20 << ' ' << 1024 << endl;
    cout << "Dec:" << dec << 20 << ' ' << 1024 << endl;
    cout << "Hex:" << hex << 20 << ' ' << 1024 << endl << endl;

    //輸出前導字串
    cout << showbase;
    cout << "Oct:" << oct << 255 << ' ' << 1024 << endl;
    cout << "Dec:" << dec << 255 << ' ' << 1024 << endl;
    cout << "Hex:" << hex << 255 << ' ' << 1024 << endl;
    cout << noshowbase << endl;

    //大寫方式
    cout << uppercase;
    cout << showbase;
    cout << "Oct:" << oct << 255 << ' ' << 1024 << endl;
    cout << "Dec:" << dec << 255 << ' ' << 1024 << endl;
    cout << "Hex:" << hex << 255 << ' ' << 1024 << endl;
    cout << noshowbase;
    cout << nouppercase;
    cout << dec << endl;

    //浮點數
    //精度
    cout << "Percision:" << cout.precision() << endl;
    cout << sqrt(2.0) << endl << endl;
    //設定精度
    cout.precision(12);
    cout << "Percision:" << cout.precision() << endl;
    cout << sqrt(2.0) << endl << endl;

    cout << setprecision(24);// 需要標頭檔案 #include <iomanip>
    cout << "Percision:" << cout.precision() << endl;
    cout << sqrt(2.0) << endl << endl;

    //列印小數點,小數點後和精度有關
    cout << 10.0 << endl;
    cout << showpoint << 10.0 << endl;
    cout << noshowpoint << endl;

    //補白
    cout << setw(10) << 1 << endl;  //指定下一項的最小空間,預設右對齊
    cout << 2 << endl << endl;

    cout << left;   //設定左對齊
    cout << setw(10) << 3 << 4 << endl << endl;

    cout << internal;   //控制負號左對齊,值右對齊
    cout << setw(10) << -16 << endl << endl;

    cout << setfill('#');   //設定填充符
    cout << setw(12) << setprecision(3) << 3.14 << endl << endl;
    cout << setfill(' ');

}

Output:

true false

Oct:24 2000
Dec:20 1024
Hex:14 400

Oct:0377 02000
Dec:255 1024
Hex:0xff 0x400

Oct:0377 02000
Dec:255 1024
Hex:0XFF 0X400

Percision:6
1.41421

Percision:12
1.41421356237

Percision:24
1.41421356237309514547462

10
10.0000000000000000000000

         1
2

3         4

-       16

########3.14

單位元組讀取

void IOunform(){
    int i;
    char ch;

    cin.get(ch);
    cout.put(ch);

    i = cin.get(); // 將下一個位元組作為int返回
    cout << i;

    i = cin.peek(); // 將下一個位元組作為INT返回,但不從流中刪除它
    cout << i << ' ';
    cout << cin.get();

    int x;
    cin >> i;
    cin.unget();    //使得輸入流向後移動,從而最後讀取的值又回到流中。
    cin >> x;
    cout << i << x;

}

sstream 隨機IO

void randIO(){
    istringstream is("0123456789");
    ostringstream os("0123456789");

    cout << "返回輸入流的當前位置:" << is.tellg() << endl;
    cout << "返回輸出流的當前位置:" << os.tellp() << endl;

    string tmp;
    is.seekg(6); //設定輸入流位置
    cout << "返回輸入流的當前位置:" << is.tellg() << endl;
    cout << "流中內容:" << is.str() << endl;
    is >> tmp;   // 從輸入流中取值
    cout << tmp << endl;

    os.seekp(5, basic_ostringstream<ostringstream>::cur); //設定輸出流位置 beg, cur, end
    cout << "返回輸出流的當前位置:" << os.tellp() << endl;
    cout << "流中內容:" << os.str() << endl;
    os << "###";
    cout << "流中內容:" <<os.str() << endl;

}

Output:

返回輸入流的當前位置:0
返回輸出流的當前位置:0
返回輸入流的當前位置:6
流中內容:0123456789
6789
返回輸出流的當前位置:5
流中內容:0123456789
流中內容:01234###89

fstreamIO:

插眼

相關推薦

C++ cout cin格式控制符

void IOform(){ cout << boolalpha << true << ' ' << false << endl << endl; cout << "Oct:

【轉】C語言 printf格式控制符 完全解析

china int 數字 大於 轉換 OS 組成 字符數 無符號 printf的格式控制的完整格式:% - 0 m.n l或h 格式字符下面對組成格式說明的各項加以說明:①%:表示格式說明的起始符號,不可缺少。②-:

C語言中格式控制符的高位補0

轉載自:卡圖盧斯 程式碼: /*按整型輸出,補齊4位的寬度,補齊位為空格,預設右對齊*/ printf("%4d\n",PrintVal); /*按整形輸出,補齊4位的寬度,補齊位為0,預設右對齊*/ printf("%04d\n",PrintVal);

C++ cout cin 使用方法

輸入  可以利用一個字元變數吃掉輸入的短橫線(減號) //輸入2018-12-15 int year = 0, mon = 0, day = 0; char sperator = '\0'; cin >> year >> sperator >

C++常用流格式控制符的用法

流格式控制符定義在<iomanip>標頭檔案中。 常用的流格式控制符(std::cout<<) 控制符 描述 setw(width) 指定列印欄位的寬度 s

c++ cout<< cin>> 註釋符 詳解

嵌套 技術 設備 main brush 註釋符 str mage inux std::cout是在#include<iostream>庫中的ostream類型中的對象 std::表示命名空間,標準庫定義的所有名字都在命名空間std中 std::cout是在#in

c++中cincout的用法

AR oat size spa span 用法 cout font 標準 cin和cout是c++中的標準輸入輸出流。中 一、cin   cin的一般用法:   cin>>變量a>>變量b>>變量c; cin會自動辨別變量的類型,如a可以

C++的cin/cout高階格式化操作

這篇文章主要講解如何在C++中使用cin/cout進行高階的格式化輸出操作,包括數字的各種計數法(精度)輸出,左或右對齊,大小寫等等。通過本文,您可以完全脫離scanf/printf,僅使用cin/cout來完成一切需要的格式化輸入輸出功能(從非效能的角度而言)。更進一步而言,您還可以在、上

C++--輸入cin輸出cout小結

程式碼1:  //向用戶提出一個"Y/N"問題 然後把使用者輸入的值賦給answer變數 //要求 針對使用者輸入"Y/y"或"N/n"進行過濾 //罰決程式可能存在的任何問題 想想為什麼 #include<iostream> int main(){ char answ

C++的cincout取消同步

雖然C++有cin函式,但看別人的程式,大多數人都用C的scanf來讀入,其實是為了加快讀寫速度,難道C++還不如C嗎!? 其實cin效率之所以低,不是比C低階,是因為先把要輸出的東西存入緩衝區,再輸出,導致效率降低,而且是C++為了相容C而採取的保守措施。 在ACM裡,經常出現數據集超

C++中cin/cout和流符號的原理(對過載輸入輸出流比較有用)

cin/cout並不是C++的關鍵字,而是物件。 C++的<iostrem>中,有一個istream類和一個ostream類,而cin就是istream類的物件,cout就是ostream類的物件。 流符號是怎樣實現的呢? C++支援過載運算子,而流符號(<<、&

C++中cincout中不會被注意的細節(字串的處理)

cout.put(ch); 與cout << ch;類似。但是隻可以輸出單個字元。 cin cin使用空白(空格,製表符和換行符)來確定字串的結束位置。 例子: #include <

C++中cin,cout,以及返回值

今天在看c++primer的時候,讀到其中這樣一段話: When we use an istream as a condition, the effect is to test the state of the stream. If the stream is val

IO Redirection in C++ (redirect cin/cout to file stream, and restore)

Author: YuMaNzI 2014/01/19 #include<iostream>#include<fstream>#include<string>void f(){ std::string line;while(st

C語言格式控制符

顧名思義,格式控制符就是對識別符號或表示式的格式進行控制,它決定了識別符號或表示式的輸出形式(長度、對齊方式、小數位數等),它也是C語言中非常重要的一個概念。本人實際工作中雖然經常用到格式控制符,但

C語言學習筆記】printf,%n格式控制符中的異類?

printf的作用毫無疑問應該是用來輸出。但是其中卻出現了%n這個向記憶體寫入而不是輸出字元的控制符。 %n的功能實現原理,是有別於其他控制符,還是本質上和別的控制符相同,只是操作物件有區別。這有待進一步學習。 初步思考: 憑過去對組合語言的簡單瞭解,在螢幕上輸出的每一個字

c++中cin的基本使用方法

取數據 lin nbsp ring abc pop 發現 con hit 一、最主要的使用方法cin>> 接收一個數字、字符、字符串。遇“空格”、“TAB”、“回車”都結束 比如: <span

Google C++ style guide——格式

空白 ont long 註意 part 字符串常量 requires () ace 1.行長度 每一行代碼字符數不超過80。 例外: 1)假設一行凝視包括了超過80字符的命令或URL,出於復制粘貼的方便能夠超過80字符; 2)包括長路徑的能夠超出80列,盡量避免; 3)

C語言輸出格式總結

輸出 無符號 分享 字符串 image 輸出字符串 轉義 輸出符 連續 1 一般格式 printf(格式控制,輸出表列) 例如:printf("i=%d,ch=%c\n",i,ch); 說明: (1)“格式控制”是用雙撇號括起來的字符串,也稱“轉換控

c#處理json格式類型的字符串

str 格式 group inf new string convert 類庫 get string channelGroup=[{"SpType":"1","BaseInfoId":["xxx","xxx","xxx"]},{"SpType":"2","BaseInfoId