輸出流
Cout 輸出到屏幕,可重定向至磁盤
Cerr 輸出到屏幕,不可重定向,不經過緩衝區
Clog 輸出到鍵盤,經過緩衝區(緩衝區溢出或遇到endl)
Put 輸出單個字符,數字會以ASCII碼輸出。(put(97); => cout<<’a’;)
格式控制
控制符
成員函數:(略)
輸入流
Cin 遇到回車/緩衝區溢出
Input
無參數:獲取一個字符,並且將其賦值給返回值
Cin.Get(X) (ch):獲取一個參數將參數賦值給ch
(字符數組/字符串指針,字符個數n,終止字符):讀取n-1個字符,在遇到終止符時提前終止
Iostream
eof->檢測文件結尾(0假,1真)
peek->觀察下一個字符(文件指針不移動)(如訪問的是文件尾則返回-1(eof))
cin.putback(ch)->將字符ch插入到到流中當前指針位置(供後續讀取)
Ignore(n,終止字符)->跳過n個字符,遇到終止符便會停止
文件管理系統設計
文件打開方式:
方式(ios::) |
作用 |
in |
輸入模式 |
out |
輸出模式 |
app |
輸出模式,且文件寫在文件末尾 |
ate |
打開一個文件,文件指針指向末尾 |
trunc |
若存在則刪除全部數據,若不存在則創建文件 |
binary |
二進制打開一個文件 |
norcreate |
打開一個已存在的文件,若文件存在打開失敗 |
noreplace |
若文件不存在則創建文件,若文件存在則打開失敗 |
In | out |
輸入輸出 |
out | binary |
二進制輸出 |
In brinary |
二進制輸入 |
新版本的I/O庫不再提norcreate和noreplace
普通操作
寫入:需要包含頭文件 #include <fstream>
讀取:infile遇到空格就會中斷,如果需要整體讀取則需要做循環(可以用空格隔斷數據)
二進制操作:(用於操作對象) 文件中無法直接識別
寫入
讀取
文件指針相關的成員函數:(用於修改文件-訪問特定位置)
文件結尾標誌EOF(一般爲-1)