3
c#中有沒有任何函數等價於C的stdio函數ungetc()?ungetc相當於c#
c#中有沒有任何函數等價於C的stdio函數ungetc()?ungetc相當於c#
不是我知道的;對於某些場景,您可以使用類似StreamReader
的東西,並使用Peek
?
using(StreamReader reader = new StreamReader(stream))
{
/// ... lots of reading
int i = reader.Peek();
/// ... lots of reading
}
不過,我不認爲你可以把任意的數據回到流,除非你正在使用像MemoryStream
,因此可以與數據猴。
即使您有一個Stream
既可讀又可寫(罕見),那麼仍然只有一個遊標,因此在寫入後需要小心重置位置(因此它也需要可以搜索;再次,不常見);然而,這並不健壯 - 某些流(例如TCP中的網絡流)會將寫入視爲「將此內容發送到其他機器」,並且它永遠不會被讀取返回。並且它不是可搜索的; -p
特別感興趣的是Console.In.Peek()和Console.In.Read() – 2014-07-30 14:51:06