如何取得内存文件大小(100分)

  • 主题发起人 主题发起人 未来107
  • 开始时间 开始时间

未来107

Unregistered / Unconfirmed
GUEST, unregistred user!
如果我建立了一个内存映射文件mapfile,大小为10000k,而实际在mapfile中只填充了一部分
内容,那么如何取得这部分内容的实际大小呢!
 
你在CreateFileMapping的时候就已经为其分配了大小。在数据是你写入的,你自然应该
知道其大小。
 
to zw84611,
兄弟,我跟你已经说过,的确可以得到的!
我这次特地开一贴就是看看是否有另外的办法!呵呵
 
对于一个指针,如果你知道它指向的是什么数据结构,你就可以知道其大小(假定已分配了内存),
否则,好象不行。
 
建立的内存映像,全为 0
如果存放的内容中没有0,存放的开始到 0 之间应该是你存放的内容。
 
开来并没有直接的答案!ok,借题问另一个问题。
如何取得一个字符串大小(这个字符串含有#0或/0),对于strlen还是length都不能完全
读出它的大小,应为碰到了结束符!那么如何才能正确读取呢,用什么函数?
 
如果中间有结束符,那就不是“一个”字符串,而是多个:)
 
var
tags: pchar;
begin
tags := pchar('hello, world'+#0+'hello, boy'+#0);
if tags<>nil then
begin
while (tags^)<>#0 do
begin
ListBox1.Items.Add(tags); //writeln(tags);
tags := tags + length(tags) + 1;
end;
end;
end;

 
多人接受答案了。
 
后退
顶部