在c#中有没有等同于C的stdio函数ungetc()的函数?
发布于 2009-01-12 07:51:07
据我所知没有;对于某些场景,您可以使用诸如StreamReader和Peek之类的东西
using(StreamReader reader = new StreamReader(stream))
{
/// ... lots of reading
int i = reader.Peek();
/// ... lots of reading
}但是,我不认为您可以将任意数据推回到流中,除非您使用的是MemoryStream之类的东西,因此可以随意处理数据。
即使你有一个既可读又可写的Stream (稀有),那么仍然只有一个游标,所以你需要小心地在写之后重置位置(所以它也需要是可查找的;同样,不常见);然而,这是不健壮的-一些流(例如TCP中的网络流)会将写操作视为“将这个发送到另一台机器”,并且它永远不会被读操作返回。而且它是找不到的;-p
https://stackoverflow.com/questions/434734
复制相似问题