gpt4 book ai didi

php - 在文件中间覆盖

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:31:58 25 4
gpt4 key购买 nike

问题是我正处于一个文件中间 fseek接下来存在一些长度为 m 的字节我想用长度为 n 的字节替换.简单 write会保留m-n字节仍然存在。如果m > n如果m < n一些我不愿意更改的字节 ( n-m ) 将被覆盖。

我只想替换一个已知的startPos to endPos具有可变长度字节的字节流。什么是最佳解决方案。

-- 编辑--虽然可以通过备份来完成。有没有直接的解决方案?这也太乱了吧?和某种糟糕的编码。

o = fopen(original, 'r')
b = fopen(backup, 'w')
while(fpos(o) <= startPos){
buffer += fgetc(o)
}
fwrite(b, buffer)
fwrite(b, replaceMentBytes)
buffer = ""
fseek(o, endPos)
while(!feof(o)){
buffer += fgetc(o)
}
fwrite(b, buffer)

//现在复制备份到原来的

最佳答案

最稳健的解决方案是从头开始重写整个文件。大多数操作系统只允许您从文件中覆盖字节,而不是插入或删除字节,因此要实现这一点,您必须从本质上复制文件,并在复制过程中替换目标字节。

关于php - 在文件中间覆盖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4497083/

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