我使用C++ streambuf
類作爲編譯器項目,並且需要一種方便的方法來獲取流中的當前位置。streambuf get streampos
有兩個成員函數streambuf::pubseekpos
和一個streambuf::pubseekoff
來修改位置,我很困惑沒有streambuf::pubgetpos
成員函數(或類似的東西)來讀取它。
似乎有兩種可能的解決方法:
我可以保存在一個單獨的變量的當前位置,並修改它 手動每當我從流中讀取字符。
我可以撥打,它返回 新的流位置。
第二種選擇似乎可用,但效率低下,對於這樣一項微不足道的任務來說不美觀。有沒有更好的方法來做到這一點?
選項2,效率低下或沒有效率,似乎是一個不錯的選擇。當涉及到C++時,我不會關心美學。 :)也許Streambuf的API是一個最小的API。 – IAbstract 2013-03-20 13:48:29