我有一个文件描述符,现在我想写n个字节到该文件替换原始数据的n个字节(因此总文件大小不会改变),就像在文字处理器的替换模式中一样。有什么方便的方法来实现这个目标吗?
答案 0 :(得分:1)
只需write
到fd。您可能需要read
之前到正确的位置,或lseek
或lseek64
直接到正确的位置。
您必须确保fd是可写的。您需要检查open
。必须使用open
或O_WRONLY
但O_RDWR
调用O_TRUNC
,这会将文件截断为零长度。
注意:如果您在文件末尾进行写操作,write
只会更改(增加)文件。如果您正在写入文件,它的大小不会改变。