谁能解释这些函数的参数?

can anyone explain arguments of these functions?

我正在使用 NodeJs 并尝试写入和读取二进制文件。

我对没有提供太多解释的 NodeJs 文档感到头疼。

特别想知道

 fs.writeSync(fd, buffer, offset, length, position)

我知道 'fd' 和 'buffer',但与 'offset' 和 'position' 混淆。

fs.readSync(fd, buffer, offset, length, position) 

我猜这个也是一样的。

谁能给我解释一下吗? 谢谢

  • offset 是您开始读取输入缓冲区的起始位置(因此,offset + length 应该等于或小于缓冲区的大小)
  • position是开始写输出的起始位置

以下愚蠢的例子将向您展示它是如何工作的:

const fs = require('fs')

var fd = fs.openSync("test.txt", "w")

var buf = Buffer.alloc(5, 'abcde')
fs.writeSync(fd, buf, 0, buf.length, 0)
// buffer's elements [0-4] are written to file's position 0
// test.txt holds 'abcde'

buf = Buffer.alloc(5, 'fghij')
fs.writeSync(fd, buf, 2, buf.length - 2, 2)
// buffer's elements [2-4] are written to file's position 2
// test.txt holds 'abhij'