ungetwc
來自 cppreference.com
在標頭檔案 <wchar.h> 中定義 |
||
wint_t ungetwc( wint_t ch, FILE *stream ); |
(自 C95 起) | |
若 ch
不等於 WEOF ,則將寬字元 ch
推入與流 stream
關聯的輸入緩衝區中,以便後續從 stream
的讀取操作能取回該寬字元。與流關聯的外部裝置不被修改。
流重定位操作 fseek 、 fsetpos 及 rewind 會捨棄 ungetwc
的效果。
若多次呼叫 ungetwc
而中間沒有讀取或重定位操作,則它可能失敗(換言之,保證大小為 1 的推回緩衝區,但任何更大的緩衝區由實現定義)。若進行了多次成功的 ungetwc
,則讀取操作以與 ungetwc
相反的順序取回被推回的寬字元。
若 ch
等於 WEOF ,則操作失敗且流不受影響。
成功呼叫 ungetwc
會清除檔案尾狀態標誌 feof。
對一個流(無論是文字流還是二進位制流)成功呼叫 ungetwc
會以未指定的方式修改流的位置指示符,但保證在使用讀取操作取回所有被推回的寬字元後,流的位置指示符等於其在 ungetwc
呼叫前的值。
目錄 |
[編輯] 引數
ch | - | - 要被放回的寬字元 |
stream | - | - 要將寬字元放回的檔案流 |
[編輯] 返回值
成功時返回 ch
。
失敗時,返回 WEOF 且給定的流保持不變。
[編輯] 引用
- C11 標準 (ISO/IEC 9899:2011)
- 7.29.3.10 ungetwc 函式 (p: 425-426)
- C99 標準 (ISO/IEC 9899:1999)
- 7.24.3.10 ungetwc 函式 (p: 370-371)
[編輯] 參閱
將一個字元放回檔案流中 (函式) | |
(C95) |
從檔案流中獲取一個寬字元 (函式) |
C++ documentation for ungetwc
|