在标准C库中,ungetc()不写入文件吗?
它只移动文件位置吗?
它可以不需要事先阅读就可以使用吗?也就是说,它可以独立于其他IO函数使用吗?
它是否可以在不需要一次读取一个字符的读取函数之后使用,即一次读取多个字符?
谢谢。
发布于 2016-03-04 09:42:59
ungetc是一个读函数。它不会写任何东西。该文件甚至可能无法打开以进行写入。
你之前做了什么并不重要。ungetc函数仅影响将来的读取。
如果下一次读取是块读取,那么它将首先读取由ungetc推送的字符。
如果您ungetc一些字符,然后读取这些字符,文件位置指示器将返回到原来的位置。
虽然有一些你还没有读过的后置字符,但是:
对于文本流,文件位置指示符为unspecified
1减去;如果尝试从0.返回,则文件位置指示符将变得不确定
如果您有任何其他问题,可以通过the C Standard中对ungetc的描述来回答
https://stackoverflow.com/questions/35786395
复制相似问题