C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[28145] 허걱! delete를 빼 먹었네요. 죄송!!!
김용수 [heredity] 1005 읽음    2003-12-09 00:58
김용수 님이 쓰신 글 :
: TStream의 ReadBuffer() Method를 쓰면 됩니다.
: 그런데 님의 경우와 같이 TStream의 내용을 문자열로 변환할 경우 사용했던
: TStringList 또는 TStrings의 LoadFromStream() Method보다 별로 편리해 보이진 안는 군요.
: 아래는 TMemoryStream에 대한 사용예 입니다.
:
:   //---------------------------------------------------------------------------
:
:   #include <vcl.h>
:   #pragma hdrstop
:
:   #include "tStream.h"
:   //---------------------------------------------------------------------------
:   #pragma package(smart_init)
:   #pragma resource "*.dfm"
:   TForm1 *Form1;
:
:   //---------------------------------------------------------------------------
:   AnsiString asTMemoryStream2AnsiString( TMemoryStream *pStream )
:   {
:     AnsiString asRtv = "";
:
:     if( pStream != NULL ) {
:       int nSize = pStream->Size - pStream->Position; // 현 위치 부터 나머지 자료를 읽도록 함.
:       PCHAR pchStr = new char[nSize + 1];
:
:       pStream->ReadBuffer( pchStr, nSize );
:       pchStr[nSize] = '\0';
:       asRtv = pchStr;

         delete [] pchStr;  // <---- 이곳이 오류 부분이군요. 심심해서 읽어 보다가 발견 했네요. 죄송!!!

:     }
:
:     return( asRtv );
:   }
:
:   //---------------------------------------------------------------------------
:   __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner)
:   {
:     TMemoryStream *pStream = new TMemoryStream();
:
:     pStream->LoadFromFile( ".\\test.txt" );
:     Caption = asTMemoryStream2AnsiString( pStream );
:
:     delete pStream;
:   }
:   //---------------------------------------------------------------------------
:
: alberddo 님이 쓰신 글 :
: : TStream변수에 저장된 값을 AnsiString변수에 저장하고 싶은 데 방법을 몰라서
: : Memo1->Lines->LoadFromStream(Stream);
: : AnsiString strData = Memo1->Text;
: : 이런 방법으로 정보를 가져오고 있는 데 직접 가져올 수 있는 방법이 있을 거 같아서 문의드립니다.

+ -

관련 글 리스트
28125 TStream변수에 저장된 값을 AnsiString으로 변환하는 방법문의 alberddo 886 2003/12/05
28130     Re:TStream변수에 저장된 값을 AnsiString으로 변환하는 방법문의 김용수 1181 2003/12/06
28145         허걱! delete를 빼 먹었네요. 죄송!!! 김용수 1005 2003/12/09
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.