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

C++ 基礎輸入輸出完全指南:iostream、流物件與格式化控制

     編輯:C++ 入門

C++ 基礎輸入輸出完全指南:iostream、流物件與格式化控制

C++ 標準程式庫提供豐富的 I/O 功能,核心概念是 流——位元組序列。資料從裝置(鍵盤、磁碟、網路)流向記憶體為 輸入;從記憶體流向裝置(螢幕、印表機、磁碟)為 輸出。

核心標頭檔

標頭檔用途
<iostream>定義 cin、cout、cerr、clog 物件,對應標準輸入、輸出、非緩衝錯誤、緩衝錯誤流
<iomanip>提供參數化流操控子(如 setw、setprecision)進行格式化 I/O
<fstream>檔案流處理,用於使用者控制的檔案讀寫

標準輸出流 (cout)

cout 是 ostream 類別實例,連接標準輸出裝置(通常為螢幕)。搭配 流插入運算子 << 使用:

#include <iostream>
using namespace std;
int main() {
    char str[] = "Hello C++";
    cout << "Value of str is : " << str << endl;
    return 0;
}

輸出: Value of str is : Hello C++

  • << 可鏈式多次使用,編譯器依資料型別選擇適當多載。
  • endl 換行並刷新緩衝區;\n 僅換行不刷新。

標準輸入流 (cin)

cin 是 istream 實例,連接標準輸入裝置(通常為鍵盤)。搭配 流擷取運算子 >>:

char name[50];
cout << "請輸入您的名稱: ";
cin >> name;
cout << "您的名稱是: " << name << endl;
  • >> 會跳過前導空白字元,遇空白停止(不適合讀取含空格字串,改用 cin.getline())。
  • 可鏈式讀取多值:cin >> name >> age;

標準錯誤流 (cerr) 與標準日誌流 (clog)

物件緩衝模式典型用途
cerr非緩衝錯誤訊息,立即輸出,確保不遺失
clog緩衝一般日誌資訊,效能較佳

兩者皆連接標準錯誤裝置(通常同螢幕),使用 << 操作。小程式差異不明顯,大型專案中應嚴格區分:錯誤用 cerr,日誌用 clog。

最佳實務建議

  • 包含 <iostream> 並 using namespace std; 或加前綴 std::。
  • 善用 <iomanip> 格式化輸出:setw(10) 寬度、setprecision(4) 精度、fixed 定點表示法。
  • 檢查流狀態:if (!cin) 偵測輸入失敗,cin.clear() 重置錯誤旗標,cin.ignore() 清除緩衝區殘留字元。
  • 大量資料輸出時考慮 ios::sync_with_stdio(false); cin.tie(nullptr); 提升效能。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved