2013-01-06 68 views
2

如果我做一個seekp過去的文件,然後寫一個會發生什麼?我想要發生的事情是文件會自動擴展到seekp位置的大小。如果是這樣,它是否也通過向磁盤寫入任何內容或者是剛分配的空間來填充文件的舊端和新位置之間的空間。C++ fstream和seekp

但是,如果它不擴展文件,我怎麼能夠相當有效地完成?

回答

2

這是完全可以接受seekp()過去的文件,然後寫。該文件確實會被擴展。

是否爲磁盤空間分配磁盤空間取決於文件系統。某些文件系統(例如ext3)支持稀疏文件,有些則不支持。

+0

感謝您的快速響應。我在槍下,或者我會設置一些測試案例來弄清楚。 – mlewis54