一个关于I/O流的问题

strongtree 2003-08-16 07:49:59
我想请教高手用C++标准I/O流库帮我解决下面个问题:(我被它折磨得有点精神分裂了)
我定义了个文件流(fstream inout),它的文件标志是ios;;in|ios;;out,可读可写的,但我现在想在文件中的某一位置开始写入信息(该位置及后面的信息要自动被删除),我想了两条思路:
1.写入新信息前,先保存好欲写入位置前的信息,然后将文件内容清空,最后将保存的信息和新信息一起重新写入文件。但我现在无法解决是难题是:如何将文件的信息清空?(当然清空前要能先保存好需保存的信息)
2.直接对文件流缓冲区进行适当的操作。先插入要写入的新信息,然后自定义需要结束的位置,最后将缓冲区内容写入文件。但我不知道如何修改缓冲区,使之写入文件时在某个适当的位置结束?

望高手能慷慨指教,在下感激不尽!!!
...全文
22 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
cdxiaogan 2003-08-19
  • 打赏
  • 举报
回复
说句题外的

思考着的精神是世界上最美丽的花朵!
很欣赏这样边提问题边想解决方法的朋友,我想这才是来csdn的意义,互有收获
很讨厌那种把作业拿上来等待答案的同学,这里不是答题工具
strongtree 2003-08-18
  • 打赏
  • 举报
回复
谢谢大家!现在这个问题我自己已经解决了。原来我的想法有个致命的错误,就是认为打开文件后,还想利用流来清空文件中的内容,这根本就超出了流的能力范围。于是,我先打开文件,利用流提取自己需要保存的内容,关闭该文件,接着我再重新打开该文件,这时我把文件的全部内容清空,然后再把先前保存的内容重新写入流中。这样就实现了我欲先想的目的!
pengzhenwanli 2003-08-17
  • 打赏
  • 举报
回复
你这样的话不如在写个新文件,然后把想要的内容写入,然后删除源文件,把新文件改名。
Wolf0403 2003-08-17
  • 打赏
  • 举报
回复
1: ios_base::trunc 清空文件

24,855

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧