TStream用的很多,为什么有了字符串还要有流呢?
我的理解是字符串和流为什么要区分成两个东西?

解决方案 »

  1.   

    流是内存块,可以是任意二进制的东东,例如文本、带格式的文本(richtxt)、图片等等
      

  2.   

    这都啥跟啥啊,stream跟string有毛关系
      

  3.   

    字符串和流是两个完全不同概念,它们之间没有可比性流的存在有很大意义,最主要原因它在内存中存储数据时是连续存储的
    有很多我们常见的实用的数据类型在内存保存都不是连续的,举个不恰当的例子,你想把一个stringList或一张图片(不是硬盘上的,是在内存中的图片,硬盘上所有的东西都是连续的,这里不说传送硬盘上的文件)从一台PC传给另一台PC,你怎么办?
    只有一个办法,传过去一块连续的内存buf,另一台收到buf的首字节,并得之这个buf的长度,这样两台PC就能通信了。
    所以传之前要把stringList或TBmp转成流,再统计出这个流的大小,发给对方就行了
    stringList在内存中不是连续的,这一块,那一块的,没法传送..同理,在同一台机器你调用DLL或COM组件或与另一个应用程序通信时,也会遇到同样的问题