我需要一個跨平臺的方式來處理內存緩衝區爲FILE*
。我已經看到其他問題,指出沒有可移植的方式來做到這一點(在Linux中fmemopen是我需要的,但它在Windows平臺上失敗)。使用setvbuf使內存緩衝區行爲像FILE *
我試過使用setvbuf,它似乎工作。任何人都可以指出使用setvbuf函數的確切問題嗎?
另外,我已經看到了C標準草案WG14/N1256和7.19.5.6說:
在任何時候所述陣列的內容是不確定的。
我不明白我是否使用自己的緩衝區它的內容如何可以不確定?
編輯:感謝所有的答案。不再使用這種方法。
對不起,我不明白這一點。您可以在C++中使用跨平臺malloc或stringstream。 – rekire
@rekire stringstream正是我的想法,但代碼使用C FILE *代替。 – user803563