2013-04-03 72 views
1

我正在爲自定義擴展名的文件編寫預覽處理程序。從IStream讀入std :: ifstream

預覽處理程序實現IInitializeWithStream接口,該接口使用在Windows資源管理器中選擇的文件數據初始化IStream。

現在,我需要對這個數據流執行一些解析操作(文件中的數據是以預定義的自定義格式顯示的純文本)。

爲了做到這一點,我需要在std :: ifstream對象中的數據,以便我可以很容易地使用STL來實現所需的輸出。

長話短說:我需要一種方法來將數據從IStream轉換/填充到std :: ifstream。

在此先感謝。

+0

我有同樣的問題它流分成的std :: ostringstream。我看到了使用http://www.boost.org/doc/libs/1_43_0/libs/iostreams/doc/tutorial/container_source.html實現包裝的建議。你是如何解決這個問題的? – user643011 2013-09-27 17:21:17

+0

如果我理解正確,所有你需要做的是: '是<< file.rdbuf();' – 0x499602D2 2014-01-20 19:32:53

+0

@ user643011:我使用IStream接口的Read方法來填充數據到字符緩衝區並將其流使用「<<」運算符轉換成std :: ostringstream。 – 2014-02-08 14:22:22

回答

1

我用IStream接口的讀取方法將數據填充到字符緩衝區和使用「< <」操作符