首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C++ >> C++ 入門

C++ IO 流詳細用法指南(iostream、sstream、fstream、iomanip)

     編輯:C++ 入門

1. <iostream> 基礎流操作

cin、cout、cerr 通過 >> 和 << 進行輸入輸出。可用 if(!cin) 檢測輸入錯誤。

流狀態標誌

  • badbit:流損壞
  • failbit:操作失敗
  • eofbit:到達文件末尾
  • goodbit:無錯誤(值為 0)

常用成員函數:bad()、eof()、fail()、good()、clear()、setstate()、rdstate()。

刷新輸出緩衝區

  • endl:換行並刷新
  • flush:僅刷新
  • ends:插入空字符並刷新
  • unitbuf:每次輸出後自動刷新

流關聯

默認 cin 和 cerr 關聯到 cout。可用 tie() 設置或查詢關聯流。

其他常用操作

  • cout.put(ch)、cin.putback(ch)
  • cin.get(s, n, delim)、getline(cin, str, delim)
  • cin.ignore(n, delim)、cin.gcount()

2. <sstream> 字符串流

stringstream 支持向字符串讀寫數據,用法與 iostream 一致,極適合字符串解析與格式化。

3. <fstream> 文件流

ifstream in("in.txt");
ofstream out("out.txt"); // 不存在則創建
in >> data; out << data;
in.close(); in.open("in2.txt");
bool ok = in.is_open();

文件打開模式:in、out、app、ate、trunc、binary。默認 ofstream 以 out|trunc 打開,需保留內容請用 app。

隨機訪問

  • 輸入流:seekg()、tellg()
  • 輸出流:seekp()、tellp()
  • 基準:ios::beg、ios::cur、ios::end

其他操作

  • peek():查看下一字符不提取
  • read()/write():二進制塊讀寫

4. <iomanip> 格式化輸出

常用操縱符:

  • setw(n)、setfill(ch)、setprecision(n)
  • 進制:dec、hex、oct
  • 浮點:fixed、scientific
  • 對齊:left、right、internal
  • 其他:boolalpha、showbase、showpoint、showpos、skipws、uppercase

可用 setf()/unsetf() 組合標誌,flags() 保存/恢復格式狀態。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved