Delphi中将文件流的数据写入动态数组

转载 2005年04月22日 19:56:00

var
myfile:TfileStream;
mybuf:array of Pchar;
begin
myfile:=TfileStream.Create('d:/a.txt',fmOpenReadWrite);
setlength(mybuf,myfile.size);
myfile.ReadBuffer(mybuf[0],myfile.Size);
//delete(String(mybuf),1,myfile.Size-4);
showmessage(pchar(mybuf));

此代码也是在摸索中搞出来的,不是非常的理解,大概理解是这样的,因为delphi中的静态数组是在运行前就分配好了,所以它的变量地址就是此数组的第一维地址,即没有描述部份,故它的sizeof为1个字节,而动态数组是在运行期间动态分配一个内存块,所以它的变量地址部分需要一个描素部分,故它的sizeof为四个字节,用于存放描素表,所以在 Readbuffet时,需要采用此数组的第一维地址为起始地址,才不会导致溢出,也不知这样理解是否正确,暂且这样理解吧,以后有机会再深入了解

android中将数据写入手机内存和sdcard中的文件

在android中一般有两种方式: 第一种是写入手机内存的文件,这种方式,文件的存取路径都是在应用包下的 files 文件夹下,其路径是固定的,并不受程序员控制的, ? FileOu...

C++中将vector转化为动态数组&实现快速排序

STL中的vector相比传统的数组构造方法效率较低但使用起来更方便,尤其在动态数组方面,可以在不知道数组大小的情况下动态地创建所需要的vector,在C++中这是其他所有构造数组的方法都不具备的,但...

数据结构中的动态数组模版类

  • 2016年04月26日 18:58
  • 2.1MB
  • 下载

Delphi 动态数组

初用Delphi中的动态数组时,有些迷惑.1、动态数组是指针吗?动态数组通常会表现出指针功能,先看下面的例子:procedure DymArrTest();varA, B: array of Inte...
  • god00
  • god00
  • 2011年07月23日 08:03
  • 441

动态数组点云数据处理

  • 2014年08月23日 21:54
  • 1KB
  • 下载

Delphi之动态数组(整理)

传统的Pascal 语言其数组大小是预先确定的,当你用数组结构声明数据类型时,你必须指定数组元素的个数。 专业程序员也许知道些许动态数组的实现技术,一般是采用指针,用手工分配并释放所需的内存。 D...
  • sforiz
  • sforiz
  • 2011年09月07日 11:41
  • 3386

C# 动态数组类文件

  • 2015年07月15日 13:58
  • 3KB
  • 下载

从Delphi返回动态数组到C#和C++

经过很多尝试, Delphi/pascal无法将array of integer这样的数组返回给C#,只能传数组的地址过去, C#以IntPtr类型的参数接收, 然后通过Marshal将指针所指的内容...
  • rocklee
  • rocklee
  • 2017年05月20日 15:55
  • 506
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Delphi中将文件流的数据写入动态数组
举报原因:
原因补充:

(最多只允许输入30个字)