继 续 问 buffer pool的 问 题

seesea 2001-07-05 04:07:24
加精
我 的 buffer pool 中 开 辟 有 好 几 页 ,
这 几 页 已 知 道 了 头 地 址 指 针 和 具 体 的 内 存 大 小 (如 2M),但 没 有 具 体 的 数 据 结 构 , 怎 么 样 实 现 向 这 块 内 存 中 连 续 写 入 一 系 列 的 数 据 呢 ?
然 后 怎 么 样 将 这 块 内 存 完 整 的 写 入 同 样 大 小 的 一 个 文 件 呢 ?
多 谢

...全文
101 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
seesea 2001-07-06
  • 打赏
  • 举报
回复
try
seesea 2001-07-05
  • 打赏
  • 举报
回复
说得也是, 我试下吧
z_sky 2001-07-05
  • 打赏
  • 举报
回复
你把数组看成数据的缓冲区,对目标数据进行一段一段的处理就行了。mpeg格式也是数据流,你不用有多长读多长啊,那样超过2M不就没法处理了?
seesea 2001-07-05
  • 打赏
  • 举报
回复
用定长数组的话, 在读多媒体文件, 如mpeg格式的话, 这个数组会巨长无比,如果读文本文件,又不是很长, 如果事先定好长度, 这样我不知道有没有坏处
z_sky 2001-07-05
  • 打赏
  • 举报
回复
用结构是没问题的,我是说结构中的 char* p 改用数组。
seesea 2001-07-05
  • 打赏
  • 举报
回复
我想了一下, 还是应该定义一个数据结构,
主要是书上的说法太复杂,我至今还没有完全搞懂
z_sky 2001-07-05
  • 打赏
  • 举报
回复
它已经是一块分配好的连续的内存区了,再在struct中用指针是不行的了,改用数组吧。
要不然你将内存区存文件时,其中的 p的值是没有意义的。
seesea 2001-07-05
  • 打赏
  • 举报
回复
z_sky() 
你认为我的第一个问题, 只知 道头地址指针和具体的内存大小(如 2M),但没有具体的数 据结构,向这块内存中连续写入一系列的数据,到写满为指比如一个结构体数组
struct record
{
long x;
int y;
char* p;
} rec[10]
这样有可能实现么?
z_sky 2001-07-05
  • 打赏
  • 举报
回复
还在,在你的提问,我的参与以及已解决里。
seesea 2001-07-05
  • 打赏
  • 举报
回复
z_sky() 
前面的帖子已经看见了, 多谢,但第一次提问题, 没想到一给分帖子就没有了,
z_sky 2001-07-05
  • 打赏
  • 举报
回复
我已经在前面的贴子回答了一部分。
至于写入文件也很简单啊, fwrite(pmem,1,MEM_LEN,fp); 查一下相关函数就清楚了。

69,364

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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