gpt4 book ai didi

javascript - node.js 打开文件覆盖现有文件

转载 作者:行者123 更新时间:2023-11-30 17:01:37 30 4
gpt4 key购买 nike

我正在 c 中创建一个文件,如下所示:

int fd;
fd = open(filename, O_RDWR | O_CREAT, S_IRUSR | S_IWUSR);

if (fd == -1) {
return NULL;
}

lseek(fd, filesize + 1, SEEK_SET);

write(fd, "", 1);

lseek(fd, 0, SEEK_SET);

void* file_memory = mmap(0, filesize, PROT_WRITE, MAP_SHARED, fd, 0);

close(fd);

因此,正如我所说,我创建文件并填充它,然后将其映射到内存中。

当我查看文件系统中的文件时,它给出了 1026 字节的文件大小(来自文件的简单 ls -l)

后来我想从 Node 应用程序访问该文件,听起来很简单:

fs.open(filename, 'w', function (err, fd) { ... }

当执行此行时,文件大小将设置为 0(同样是简单的 ls -l)。

我假设该文件已被重新创建?但这种情况不应该发生,因为该文件已经存在(根据 node.js 手册)。

这里发生了什么?我做错了什么?

最佳答案

你是对的,w标志重新创建了文件。如果您想在文件末尾写入,请使用a(追加)标志。

关于javascript - node.js 打开文件覆盖现有文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36935467/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com