<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                所有流均可進行高級/低級IO。 ## 一.標準輸入 1. 格式 ```c++ cin>>var1>>var2>>...; ``` 2. 流提取運算符讀取數據時通常跳過輸入流中的空格、Tab鍵、換行符等空白字符。 3. 只有在鍵盤輸入完數據并按回車鍵后,該行數據才被送入鍵盤緩沖區,形成輸入流,提取運算符“>>”才能從中提取數據。 ## 二.標準輸出 1.用法: ```c++ obj<<content<<...; ``` + 這些對象已為C++的標準類型重載了<<運算符,輸出數據的類型無需用戶干預。但是,用戶定義的類和對象需要手動重載<<運算符。 + 一個運算符只能插入一個輸出項。 2. **cout對象** *console coutput* 在控制臺(終端顯示器)的輸出。 3. **cerr對象** *console error* 在控制臺(終端顯示器)顯示錯誤信息。 + 與 **cout** 的區別:cerr流已被指定與顯示器關聯,而cout可以被重定向輸出到磁盤文件。 4. **clog對象** *console log* 在控制臺(終端顯示器)顯示錯誤信息。 + 與 **cerr** 的區別:cerr流不經過緩沖區,直接向顯示器輸出信息,而clog中的信息存放在緩沖區中,緩沖區滿或遇到endl時向顯示器輸出。 ## 三.文件流 > `fstream` 是一個文件流類,包括 `ifstream`、`ofstream`、`fstream` | 函數或初始化語句 | 含義 | | -------------------------- | ------------------------------------------------------------ | | `fstream fs;` | 創建一個未綁定的文件流。 | | `fstream fs(file);` | 創建一個文件流,并打開文件 `file`。`file` 可以是字符串對象,也可以是C風格字符串。 | | `fstream fs(s,mode);` | 創建一個文件流,并按照模式 `mode` 打開文件 `file`。`file` 可以是字符串對象,也可以是C風格字符串。 | | `void fs.open(file)` | 打開文件 `file`。`file` 可以是字符串對象(舊標準不支持),也可以是C風格字符串。 | | `void obj.open(file,mode)` | 按照模式 `mode` 打開文件 `file`。`file` 可以是字符串對象,也可以是C風格字符串。 | | `void obj.close()` | 關閉文件流。 | | `bool obj.is_open()` | 文件是否打開。 | + 當文件無法打開(例如被占用)時,`failbit` 會被置位。當打開完文件后,應當檢測是否打開成功: ```c++ if (fs) //文件打開成功 ``` + 為了避免文件無法被其他程序正常打開,在文件打開完畢后,應當關閉文件。 + 但是 `fstream` 在析構時,會自動關閉文件。 + 關閉后,原來指定的文件模式無效。 ## 四.文件打開模式 ### 1.文件模式概覽 >打開方式可以用 `|` 分隔開 | 方式 | 作用 | | ----------- | ------------------------------------------------------------ | | ios::in | **讀** 打開文件 | | ios::out | **寫** **覆蓋** 打開文件,如果已有此名字的文件,則將其原有內容全部擦除。 | | ios::app | **追加** 以輸出方式打開文件,每次寫操作時自動定位到文件末尾 | | ios::ate | **指向末尾** 打開一個已有的文件,文件指針指向文件末尾 | | ios::trunc | **覆蓋** 打開一個文件,如果文件已存在,則刪除其中全部數據,如文件不存在,則建立新文件。如已指定了 `ios::out` 方式,而未指定 `ios::app` , `ios::ate` ,`ios::in` ,則同時默認此方式。 | | ios::binary | **二進制訪問** 以二進制方式打開一個文件,如不指定此方式則默認為ASCII方式 | ### 2.文件模式限制 + 只可以對 `ofstream` 或 `fstream` 對象設定 `out` 模式。 + 只可以對 `ifstream` 或 `fstream` 對象設定 `in` 模式。 + 只有當 `out` 也被設定時才可設定 `trunc` 模式。 + 只要 `trunc` 沒被設定,就可以設定 `app` 模式。在 `app` 模式下,即使沒有顯式指定 `out` 模式,文件也總是以輸出方式被打開。 + 默認情況下,即使我們沒有指定 `trunc` ,以 `out` 模式打開的文件也會被截斷。 + `ate` 和 `binary` 模式可用于任何類型的文件流對象,且可以與其他任何文件模式組合使用。 ### 3.默認的文件模式 1. 與 `ifstream` 關聯的文件默認以 `in` 模式打開。 2. 與 `ofstream` 關聯的文件默認以 `out` 模式打開。 3. 與 `fstream` 關聯的文件默認以 `in` 和 `out` 模式打開。 ## 五.字符串流 > `sstream` 是一個字符串流類,包括 `istringstream`、`ostringstream`、`stringstream` | 函數或初始化語句 | 含義 | | ------------------------ | ------------------------------------ | | `sstream ss;` | 創建一個未綁定的字符串流。 | | `sstream ss(string &s);` | 創建一個字符串流,并拷貝字符串 `s`。 | | `string ss.str()` | 返回字符串的拷貝。 | | `void ss.str(string &s)` | 拷貝字符串 `s` 到流中。 |
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看