簡體   English   中英

ungetc()是否不寫入文件,而僅移動文件位置?

[英]Does ungetc() not write to a file, but only move file position?

在標准C庫中,ungetc()是否不寫入文件?

它僅移動文件位置嗎?

可以不用事先閱讀就可以使用嗎? 也就是說,它可以獨立於其他IO功能使用嗎?

可以在不需要一次僅一個字符,即一次讀取多個字符的讀取功能之后使用它嗎?

謝謝。

ungetc是讀取功能。 它不做任何文字。 該文件甚至可能無法打開以進行寫入。

事先做什么都沒關系。 ungetc函數僅影響將來的讀取。

如果下一次讀取是塊讀取,則它將首先讀取ungetc推送的ungetc

如果您ungetc某些字符,然后讀取了這些字符,文件位置指示器將返回到原來的位置。

當有一些尚未讀回的字符時,則:

  • 對於文本流, 未指定文件位置指示符
  • 對於二進制流,每個后推字符的文件位置指示符均減去1 如果嘗試從0返回,則變得不確定

如果您還有其他問題,可以通過C標准ungetc的描述來回答:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM