2016-12-29 40 views
0

我有一個文件描述符,現在我想寫n個字節到該文件,替換n個字節的原始數據(因此文件總大小不會改變),就像在文字處理器的替換模式中一樣。任何方便的方法來實現這一點?如何寫入fd替換相同長度的原始數據?

+2

查看'open'以讀/寫模式打開一個文件,'seek'在讀取後重繞文件指針,以及'read'和'write'調用。 –

回答

1

只是write到fd。您可能需要read直到正確的位置或lseeklseek64直接到正確的位置。

您必須確定fd是可寫的。你需要檢查openopen必須使用O_WRONLYO_RDWR調用,但不包含O_TRUNC,這會將文件截斷爲零長度。

注意:write如果您正在寫入文件的末尾,則只會更改(增加)文件大小。如果你正在寫入文件,它的大小不會改變。

相關問題