std::ungetwc
來自 cppreference.com
| 在標頭檔案 <cwchar> 中定義 |
||
| std::wint_t ungetwc( std::wint_t ch, std::FILE* stream ); |
||
如果 ch 不等於 WEOF,則將寬字元 ch 推入與流 stream 相關聯的輸入緩衝區,以便後續的從 stream 讀取操作將檢索該寬字元。與流相關聯的外部裝置不會被修改。
流重定位操作 std::fseek、std::fsetpos 和 std::rewind 會丟棄 std::ungetwc 的效果。
如果在沒有 intervening 讀取或重定位的情況下多次呼叫 std::ungetwc,它可能會失敗(換句話說,保證大小為 1 的回推緩衝區,但任何更大的緩衝區都是實現定義的)。如果執行了多次成功的 std::ungetwc,讀取操作將以 std::ungetwc 的反向順序檢索回推的寬字元。
如果 ch 等於 WEOF,則操作失敗且流不受影響。
成功呼叫 std::ungetwc 會清除檔案結束狀態標誌 feof。
在流(無論是文字流還是二進位制流)上成功呼叫 std::ungetwc 會以未指定的方式修改流位置指示器,但保證在透過讀取操作檢索所有推回的寬字元後,流位置指示器等於其在 std::ungetwc 呼叫之前的值。
[編輯] 引數
| ch | - | 要回推的寬字元 |
| stream | - | 要將寬字元回推到的檔案流 |
[編輯] 返回值
成功時返回 ch。
失敗時返回 WEOF,給定流保持不變。
[編輯] 參閱
| 將一個字元放回檔案流中 (函式) | |
| 從檔案流中獲取一個寬字元 (函式) | |
| 有關 ungetwc 的 C 文件
| |