C 筆記 IO庫再探

2021-09-12 14:44:32 字數 1724 閱讀 5834

標準庫定義了一組操縱符,用來修改流的格式狀態。乙個操縱符是乙個函式或者物件,會影響流的狀態,並能用作輸入或輸出運算子的運算物件。

例如:endl

在使用endl時,就像是將它寫到流中去。但是endl實際上是乙個操作:

它輸出乙個換行,並重新整理緩衝區。

當操縱符改變流的狀態時,會影響該流的後續操作

例如: cout << "default bool values: " << true << " " << false

<< "\nalpha bool values: " << boolalpha

<< true << " " << default << endl;

輸出結果為:

default bool values: 1 0

alpha bool values: true false

使用boolalpha操縱符來覆蓋預設的1 / 0格式,該流列印結束後,又恢復預設狀態

通過操縱符指定整型值的進製

oct 八進位制

hex 十六進製制

dec 十進位制

通過操縱符指定浮點數的列印精度

cout.precision(n) 通過io物件的成員函式來設定列印

setprecision(n) 通過操縱符來設定精度

接收引數的操縱符都定義在iomanip中

小數點的列印

cout << 10.0 << endl; //列印10

//通過showpoint操縱符列印小數點

cout << showpoint << 10.0 //列印10.0000 cout.precision()預設為6位輸出

<< noshowpoint << endl; //恢復小數點的預設格式

控制列印格式

setw 指定下乙個數字或者字串值的最小空間

left 表示左對齊輸出

right 表示右對齊輸出,右對齊是預設格式

internal 控制負數的符號的位置,它左對齊符號,右對齊值,用空格填滿所有中間空間

setfill 允許指定乙個字元代替預設空格來補白輸出

控制輸入格式:預設情況下,輸入運算子會忽略空白符(空格,製表,換行,換紙和回車符)

char ch;

while(cin >> ch)

cout << ch;

當輸入:a b c

d輸出為:abcd

通過noskipws來令輸入運算子讀取空白符

cin >> noskipws;

while(cin >> ch)

cout << ch;

當輸入:a b c

d輸出為:a b c

d

除去對流的操作外,標準庫還提供了一組單位元組的底層io操作

is.get(ch)  從istream物件is讀取下一位元組,存入字元ch中。返回is

os.put(ch) 將字元ch輸出到ostream物件os中。返回os

is.get() 將is的下乙個位元組作為int返回

is.putback(ch) 將字元放回is,返回is

is.peek() 將下乙個位元組作為int返回,但不從流中刪除它

將字元放回輸入流中

學習筆記 nginx再探

上篇nginx初識說了nginx配置http反向 本篇先說https的反向 以及利用nginx搭建檔案伺服器。https使用了ssl通訊標準,需要引入安全證書,且其埠號與http也不相同。其他基本一樣。server autoindex on 顯示目錄 autoindex exact size on ...

C 語句函式再探

1.表示式只計算,拋棄計算結果 2.空語句什麼也不做 3.switch case語句漏寫break,將會從匹配到的情況開始執行,直到語句結束 4.形參 實參 區域性變數 靜態區域性變數 所謂形參就是佔位之用,在函式開始時申請空間,並由傳入實參進行例項化 也可稱拷貝構造 一般是區域性的,即只能在函式體...

C 筆記 15 8 文字查詢再探

將層次關係隱藏於介面類中 這是乙個抽象基類,具體的查詢型別從中派生,所有成員都是private的 class query base 這是乙個管理query base繼承體系的介面類 class query string rep const private query shared ptr query...