C++學(xué)習(xí)之IO流詳解
流: 若干字節(jié)數(shù)據(jù)從一端到另一端我們叫做流
例如:操作文件,從程序到文件,數(shù)據(jù)的流動(dòng)的操作稱為流操作
流類體系
專門處理輸入輸出流、字符流、文件流,包含有:
流對(duì)象
流運(yùn)算符 >>? <<
輸入/出流對(duì)象 + 流運(yùn)算符 >>? <<---處理輸入輸出的數(shù)據(jù)
字符流對(duì)象 + 流運(yùn)算符 >>? ?<<? ?---處理字符流
文件的對(duì)象 + 流運(yùn)算符 >>? <<? ? ---讀寫文件
基本輸入、輸出流
istream 類---cin? ? ? ?輸入
ostream類---cout? ? ?輸出
tip:輸出流除了cout外,還有一些別的對(duì)象(效果和cout一樣)
cerr ---標(biāo)準(zhǔn)出錯(cuò)
clog ---日志文件輸出
freopen
把程序的輸入、輸出重定向?yàn)槲募?/p>
重定向是文件中的數(shù)據(jù)的格式要與程序讀取的格式一致
輸入重定向
輸出重定向
字符類的處理
正常的操作
通過(guò)IO流對(duì)象調(diào)用成員函數(shù)的方式
單個(gè)字符和字符串的輸出處理
單個(gè)字符和字符串的輸入處理
注意不能用來(lái)處理string
格式控制字符
包含頭文件 <iomanip>
常用的格式控制,一種是調(diào)用成員函數(shù)方式,一種流控制字符去做
設(shè)置有效位數(shù): setprecision(n)
設(shè)置精度: fixed 結(jié)合 setprecision 使用
tip:流控制字符---c++用來(lái)控制格式的操作
設(shè)置格式
進(jìn)制輸出
對(duì)齊方式和數(shù)據(jù)的寬度問(wèn)題? ? ? ? 制表符 '\t'
限制每個(gè)數(shù)據(jù)的位數(shù)不足補(bǔ)空格?
1. 8位制表,不足8位? 補(bǔ)空格? ? ? ?
2. 超過(guò)8位,按照16位制表?