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
[66394] Re:이렇게 하면 됩니다.
장성호 [nasilso] 1514 읽음    2012-02-24 17:08
phinix님

CharToWChar 함수에셔 malloc 으로 할당한 메모리는 어디서 해제하나요?

아래 코드대로라면 메모리 누수가 있을거 같은데요..

=================================================

그냥
AnsiString대신 String쓰시고

Application->MessageBox에서  str.c_str() 하시면 될듯 합니다.


...

왕초보와코드 님이 쓰신 글 :
: 이전에 만든 Char -> w_char 변환 함수가 있는데요, 질문의 코드에 넣어보니 잘 되서 알려드립니다.
:
: (1) 함수 원형 (헤더에 넣으세요)
:
: wchar_t* CharToWChar(const char* pstrSrc);
:
: (2) 함수
:
: wchar_t* TForm1::CharToWChar(const char* pstrSrc)
: {
:     int nLen = strlen(pstrSrc)+1;
:     wchar_t* pwstr      = (LPWSTR) malloc ( sizeof( wchar_t )* nLen);
:     mbstowcs(pwstr, pstrSrc, nLen);
:     return pwstr;
: }
:
: (3) 예제의 실행코드
:
: void __fastcall TForm1::Button1Click(TObject *Sender)
: {
:  AnsiString str;
:  int nTmp = 10;
:
: str.cat_sprintf("%d,", nTmp);
:
: //Application->MessageBox(L"confirm", str);
: Application->MessageBox(L"confirm", CharToWChar(str.c_str())  );
: }
:
: 이거말고도 두어가지 있었는데 기억이.... 하하 ^^
:
: 3E™ 님이 쓰신 글 :
: : 프로젝트옵션에서 케릭터셋을 char 으로 설정해도 볼랜드빌더2010 은 계속 절 힘들게 하네요.
: :
: : AnsiString str;
: :
: : ~~
: : str.cat_sprintf("%d,", nTmp);
: : ~~
: :
: : Application->MessageBox(L"confirm", str, MB~~)
: :
: : 여기서 자꾸 AnsiString을 거시기해서 못해묵겄다네요.
: :
: : 그렇다고 str을 어케할수도없고.. 그럼 위 소스 다 변경해야되고
: : 좀간단하게 할수없을까요?
: : 아니면 프로젝트를 visual studio 마냥 유니코드 사용안해~ 라는건 없나요? ㅠㅠ

+ -

관련 글 리스트
66391 AnsiString -> wchar_t (unicodestring) ??? 3E™ 1697 2012/02/24
66400     Re:AnsiString -> wchar_t (unicodestring) ??? 박우성 1711 2012/02/24
66401         Re:Re:AnsiString -> wchar_t (unicodestring) ??? Lyn 1646 2012/02/24
66394         Re:이렇게 하면 됩니다. 장성호 1514 2012/02/24
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.