VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2296|回复: 15

怎么样在文件开头插入一段字符串?

[复制链接]

3

主题

4

帖子

5.00

积分

新手上路

Rank: 1

积分
5.00
发表于 2020-2-1 00:20:01 | 显示全部楼层 |阅读模式
怎么在文本文件中插入一字符串?不是覆盖!
谢谢了!
回复

使用道具 举报

0

主题

63

帖子

43.00

积分

新手上路

Rank: 1

积分
43.00
发表于 2020-3-11 22:15:01 | 显示全部楼层
我比較笨,只會把原來的先讀出來,再……
回复

使用道具 举报

0

主题

3

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
发表于 2020-3-20 12:00:01 | 显示全部楼层
如果文件很大,几百兆, 这种方法岂不是很低效?
回复

使用道具 举报

0

主题

73

帖子

46.00

积分

新手上路

Rank: 1

积分
46.00
发表于 2020-3-20 15:45:01 | 显示全部楼层
可是如果不这么办,那写文件系统驱动的人岂不是哭亲娘了?
回复

使用道具 举报

0

主题

73

帖子

46.00

积分

新手上路

Rank: 1

积分
46.00
发表于 2020-3-20 20:45:01 | 显示全部楼层
呵呵,写文件系统驱动的人,它们也不是天才,也是跟我们一样的程序员,我们觉得很复杂的事情,他们也一样。
试想一下,如果让你来设计一种磁盘格式,并在其上实现一套文件系统驱动,要支持不移动任何数据的随机插入与删除,当然,还要同时考虑磁盘的利用率以及读取效率(尤其要高效得顺序读取)——你觉得这可行吗?:)
回复

使用道具 举报

0

主题

3

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
发表于 2020-3-26 22:30:01 | 显示全部楼层
我没有写过文件系统,对我来说那些人是非常优秀的程序员:)

我认为如果文件很大,效率确实是个问题,为了插入几个字符,可能要等几分钟甚至更长时间
我觉得事情应该可以做得更好,所以把这个concern提出来
回复

使用道具 举报

0

主题

73

帖子

46.00

积分

新手上路

Rank: 1

积分
46.00
发表于 2020-3-29 03:15:01 | 显示全部楼层
有些情况下,人们的确是在想更好的办法,比如那些做数据库系统的。
但他们一般都是文件系统的同象层次之上再封装自己的一层更抽象的逻辑文件格式来达到目的,比如把一个文件分成一块一块的,每一块头上放几个字节,标记一下这块还有没有用,以及下一块的位置在哪里。
但对于通常的场合,这非但很费事,事际上也并没太多好处,尤其是,你得自己写读取,拼装的程序,非常麻烦。
如果你的文件是一种特殊的二进制文件,可以分成固定长度的一个一个的记录,而且不怕麻烦的话,也可以这样做,hoho。
也可以考虑采用B树,通常情况下更没必要。:(
回复

使用道具 举报

0

主题

55

帖子

44.00

积分

新手上路

Rank: 1

积分
44.00
发表于 2020-3-30 09:30:01 | 显示全部楼层
还好,楼主没问为啥vector不支持push_front/pop_front。
回复

使用道具 举报

0

主题

22

帖子

18.00

积分

新手上路

Rank: 1

积分
18.00
发表于 2020-3-31 12:00:01 | 显示全部楼层
楼主的问题让我想起了viking病毒,
也是在exe文件开头插入一段,
执行时生成病毒文件和原exe文件,还有一些bat,并执行,同时插入其他exe开头

有机会倒想请教病毒作者^_^
回复

使用道具 举报

0

主题

73

帖子

46.00

积分

新手上路

Rank: 1

积分
46.00
发表于 2020-4-1 20:30:01 | 显示全部楼层
exe好像还好一点吧,它前边有时本来有会有空闲的字节,而且有时逻辑上插一条jmp指令就可以了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表