如何将一个字符串添加到一个MemoryStream的末尾,MemoryStream 本身不是空的

解决方案 »

  1.   

    看看帮助嘛!
    void __fastcall TForm1::Button2Click(TObject *Sender)
    {
        char strTemp[100];
        for ( int i=0; i<100; i++ ) strTemp[i] = (unsigned char)i;
        
        TMemoryStream *MemoryStream = new TMemoryStream();
        MemoryStream->LoadFromFile("Unit1.cpp");
        MemoryStream->Seek(0, soFromEnd);
        ShowMessage ( IntToStr(MemoryStream->Size) );
        MemoryStream->Write(strTemp, 100);
        ShowMessage ( IntToStr(MemoryStream->Size) );
        delete MemoryStream;
    }
      

  2.   

    简单...
     Stream.Postion := Stream.Size;
     Stream.Read(Str[1], Length(Str));就这样OK?
      

  3.   

    眼前有景道不得,
    诸位解答在上头。
    两位的解答都对,
    我来翻译一下Behard(我爱天安门) 的代码。
    procedure  TForm1.Button2Click(Sender:TObject );
    var
      strTemp: array [0..100] of char;  //或者strTemp:string[100]但这个序数从1开始。
      i:integer;
      MemoryStream:TMemoryStream ;
    begin
        
        for i:=0 to 99 do 
         strTemp[i] := Chr(i);
        
        MemoryStream := TMemoryStream.Create;
        MemoryStream.LoadFromFile('Unit1.cpp');
        MemoryStream.Seek(0, soFromEnd);
        ShowMessage( IntToStr(MemoryStream.Size) );
        MemoryStream.Write(strTemp,100);
        ShowMessage (IntToStr(MemoryStream.Size) );
        MemoryStream.Free;
    end;