名稱空間
變體
操作

ungetwc

來自 cppreference.com
< c‎ | io
 
 
檔案輸入/輸出
型別和物件
        
函式
檔案訪問
(C95)
非格式化輸入/輸出
(C95)(C95)
(C95)
(C95)(C95)
(C95)
ungetwc
(C95)

格式化輸入
 
在標頭檔案 <wchar.h> 中定義
wint_t ungetwc( wint_t ch, FILE *stream );
(自 C95 起)

ch 不等於 WEOF ,則將寬字元 ch 推入與流 stream 關聯的輸入緩衝區中,以便後續從 stream 的讀取操作能取回該寬字元。與流關聯的外部裝置不被修改。

流重定位操作 fseekfsetposrewind 會捨棄 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)

[編輯] 參閱

將一個字元放回檔案流中
(函式) [編輯]
從檔案流中獲取一個寬字元
(函式) [編輯]
C++ documentation for ungetwc