文档章节

Delphi 的内存操作函数(5): 复制内存

涂孟超
 涂孟超
发布于 2014/09/26 15:38
字数 239
阅读 1
收藏 0

MoveMemory、CopyMemory 的功能类似, 都是复制内存, 都是调用 Move 过程;

MoveMemory、CopyMemory 操作指针; Move 操作实体.

还要注意, 它们的参数位置不一样!

举例:
{例1}
var
  buf1,buf2: array[0..9] of AnsiChar;
begin
  buf1 := '0123456789';
  buf2 := 'abcdefghij';

  Move(buf2[2], buf1[4], 5);

  ShowMessage(buf1); {0123cdefg9}
  ShowMessage(buf2); {abcdefghij}
end;

{例2}
var
  buf1,buf2: array[0..9] of AnsiChar;
begin
  buf1 := '0123456789';
  buf2 := 'abcdefghij';

  CopyMemory(@buf2[2], @buf1[4], 5);

  ShowMessage(buf1); {0123456789}
  ShowMessage(buf2); {ab45678hij}
end;

{例3}
var
  s1,s2: TStringStream; {两个字符串流}
begin
  s1 := TStringStream.Create;
  s2 := TStringStream.Create;

  {向第一个字符串流写入}
  s1.WriteString('万一的 Delphi 博客');
  ShowMessage(s1.DataString); {万一的 Delphi 博客}

  {设置第二个字符串流的大小}
  s2.SetSize(6);
  {从第一个流复制到第二个流}
  CopyMemory(s2.Memory, s1.Memory, s2.Size);
  ShowMessage(s2.DataString); {万一的}

  s1.Free;
  s2.Free;
end;

 
 
 
 
 

 

 

  

这里仅仅是为了测试, 如果真的使用 TMemoryStream、TStringStream 等流类, 它们自身提供的复制操作更方便.

本文转载自:http://www.cnblogs.com/del/archive/2008/11/14/1333455.html

共有 人打赏支持
涂孟超
粉丝 12
博文 2011
码字总数 14107
作品 0
深圳
程序员
Delphi、PChar和Char数组的比较

Delphi、PChar和Char数组的比较   string和Char数组都是一块内存, 其中存放连续的字符. string保存具体字符的内存对用户是透明的, 由Delphi管理它的分配, 复制和释放, 用户不能干预(其实也...

技术小甜
2017/11/08
0
0
最基础的数据结构-左轻侯

作者:左轻侯 创建时间:2007-03-04 22:29:06 最后修改时间:2008-01-18 22:07:52 本文发表于《程序员》2007年第3期      最基础的数据结构   左轻侯   2007.2.3      引言   ...

一配
2015/10/16
28
0
用好Delphi中的字符串

用好Delphi中的字符串日期:2005年10月18日 作者: 人气:17184 查看:[大字体 中字体 小字体]一:各种字符串  字符串是Object Pascal所有数据类型中最有用的类型。许多函数以字符串为传递参...

vga
2016/08/09
14
0
delphi DLL动态链接库

假设有两个应用程序,它们都要调用一个单元中的一个方法,那么这两个应用程序都要在Uses语句中引用该单元。如果同时运行这两个应用程序,这个方法就会在内存中存在两份,这显然是内存的一种浪...

技术小甜
2017/11/16
0
0
不在乎y/govcl

govcl 目录 项目介绍 重要说明 WIKI 使用方法 icon及manifest文件集成 关于跨平台问题 项目中的包说明 实例类说明 支持的组件列表 截图 备注 作者信息 项目介绍 1、由于现有第三方的Go UI库不...

不在乎y
2017/10/10
0
0

没有更多内容

加载失败,请刷新页面

加载更多

一个可能的NEO链上安全随机数解决方案

0x00 困境 链上安全随机数生成应该算是一个比较蛋疼的问题,哪怕你的系统再牛逼,合约程序困在小小的虚拟机里,哪怕天大的本事也施展不开。 更悲催的是,交易执行的时候,是在每一个节点都执...

暖冰
19分钟前
0
0
【大福利】极客时间专栏返现二维码大汇总

我已经购买了如下专栏,大家通过我的二维码你可以获得一定额度的返现! 然后,再给大家来个福利,只要你通过我的二维码购买,并且关注了【飞鱼说编程】公众号,可以加我微信或者私聊我,我再...

飞鱼说编程
今天
1
0
Spring5对比Spring3.2源码之容器的基本实现

最近看了《Spring源码深度解析》,该书是基于Spring3.2版本的,其中关于第二章容器的基本实现部分,目前spring5的实现方式已有较大改变。 Spring3.2的实现: public void testSimpleLoad(){...

Ilike_Java
今天
1
0
【王阳明心学语录】-001

1.“破山中贼易,破心中贼难。” 2.“夫万事万物之理不外于吾心。” 3.“心即理也。”“心外无理,心外无物,心外无事。” 4.“人心之得其正者即道心;道心之失其正者即人心。” 5.“无...

卯金刀GG
今天
2
0
OSChina 周三乱弹 —— 我们无法成为野兽

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @ _刚刚好: 霸王洗发水这波很骚 手机党少年们想听歌,请使劲儿戳(这里) hahahahahahh @嘻酱:居然忘了喝水。 让你喝可乐的话, 你准忘不了...

小小编辑
今天
11
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部