ungect()是否不写入文件,而只移动文件位置?

ungect()是否不写入文件,而只移动文件位置?,c,io,C,Io,在标准C库中,ungect()是否不写入文件 它是否只移动文件位置 它能在没有事先阅读的情况下使用吗?i、 e.是否可以独立于其他IO功能使用 是否可以在不需要一次读取一个字符(即一次读取多个字符)的读取功能之后使用 谢谢。ungect是一个读取功能。它不写任何东西。该文件甚至可能无法打开进行写入 你事先做了什么并不重要。ungect功能只影响将来的读取 如果下一次读取是块读取,则它将首先读取ungect推送的字符 如果您ungect一些字符,然后读取这些字符,文件位置指示器将返回到原来的位置

在标准C库中,ungect()是否不写入文件

它是否只移动文件位置

它能在没有事先阅读的情况下使用吗?i、 e.是否可以独立于其他IO功能使用

是否可以在不需要一次读取一个字符(即一次读取多个字符)的读取功能之后使用


谢谢。

ungect
是一个读取功能。它不写任何东西。该文件甚至可能无法打开进行写入

你事先做了什么并不重要。
ungect
功能只影响将来的读取

如果下一次读取是块读取,则它将首先读取
ungect
推送的字符

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

虽然有您尚未阅读的后推字符,但:

  • 对于文本流,未指定文件位置指示符
  • 对于二进制流,文件位置指示符被每个后推字符减去
    1
    ;如果试图从
    0
    返回,则变得不确定

如果您有任何其他问题,可以通过中的
ungetc
说明来回答:

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

你事先做了什么并不重要。
ungect
功能只影响将来的读取

如果下一次读取是块读取,则它将首先读取
ungect
推送的字符

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

虽然有您尚未阅读的后推字符,但:

  • 对于文本流,未指定文件位置指示符
  • 对于二进制流,文件位置指示符被每个后推字符减去
    1
    ;如果试图从
    0
    返回,则变得不确定

如果您有任何其他问题,可以通过
ungect
中的描述来回答:

Nice!。要添加的内容“如果c的值等于宏EOF的值,则操作失败,输入流不变。”谢谢。“对于文本流,文件位置指示器未指定”,这是什么意思?@Tim它可能是任何东西!。要添加的内容“如果c的值等于宏EOF的值,则操作失败,输入流不变。”谢谢。“对于文本流,文件位置指示器未指定”,这是什么意思?@Tim它可以是任何东西