首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

C 語言 ungetc 回退字符:標準僅支持單字符回退

     編輯:程式設計綜合問答

標準規定

  • ungetc 將 最近讀取的單個字符 推回流緩衝區。
  • 兩次 ungetc 之間 必須有一次讀操作或定位操作(fseek/rewind/fsetpos),否則行為未定義。
  • 回退字符數 不能超過已讀取字符數(類比:取款 100 元,最多存回 100 元)。

返回值

成功返回被推回的字符(int 類型),失敗返回 EOF。

實踐建議

  1. 若需多字符回退,改用 fseek(fp, -n, SEEK_CUR) 移動文件指針(僅限二進制流/可定位流)。
  2. 或自行維護內存緩衝區,實現任意長度回退/前瞻。
  3. 切勿依賴特定庫實現的多次 ungetc(如 glibc 允許),移植性極差。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved