首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ungetc()不写文件,只移动文件位置吗?

ungetc()不写文件,只移动文件位置吗?
EN

Stack Overflow用户
提问于 2016-03-04 09:30:30
回答 1查看 119关注 0票数 0

在标准C库中,ungetc()不写入文件吗?

它只移动文件位置吗?

它可以不需要事先阅读就可以使用吗?也就是说,它可以独立于其他IO函数使用吗?

它是否可以在不需要一次读取一个字符的读取函数之后使用,即一次读取多个字符?

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2016-03-04 09:42:59

ungetc是一个读函数。它不会写任何东西。该文件甚至可能无法打开以进行写入。

你之前做了什么并不重要。ungetc函数仅影响将来的读取。

如果下一次读取是块读取,那么它将首先读取由ungetc推送的字符。

如果您ungetc一些字符,然后读取这些字符,文件位置指示器将返回到原来的位置。

虽然有一些你还没有读过的后置字符,但是:

对于文本流,文件位置指示符为unspecified

  • For二进制流,对于每个推回字符,文件位置指示符将被1减去;如果尝试从0.

返回,则文件位置指示符将变得不确定

如果您有任何其他问题,可以通过the C Standard中对ungetc的描述来回答

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35786395

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档