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
[71208] Re:[답변] XE5에서 c_str() 과 t_str() 구분 없이 둘다 wchar*를 반환함
[] 3451 읽음    2014-04-12 15:21
XE5에서 c_str() 과 t_str()은 둘다 wchar* 로 반환함. 구분이 없음

유니코드를 처음 지원하면서 VCL 라이브러리를 만들 때 TCHAR 타입에 따라서 다른 포인터형이 사용될 수 있도록 한 거지만
사실상 t_str()은 의미가 없음. C++ 표준에선 string Templete 의 T에 따라서 c_str()의 타입이 조건부 컴파일 되도록하기 때문에
c_str() 이외의 다른 반환 함수가 필요 없음. 둘 다.. 똑 같은 타입이면서 c_str() 하나로 통일하지 않고 그대로 두고 있는 것은
모바일에 빠져서 열심히 삽질하고 있는 엠바의 무성의 때문이 아닐런지..



정성훈.해미 님이 쓰신 글 :
: 안녕하세요.
: 정성훈.해미입니다.
:
: 문자열 변수형 AnsiString과 UnicodeString는 모두 c_str() 함수를 내장하고 있지만
: 약간 다릅니다.
:
: AnsiString의 경우 c_str()은 char*로 반환하고
: UnicodeString의 경우 c_str()은 wchar*로 반환합니다.
: UnicodeString을 char*로 반환할려면 t_str()을 사용하야 합니다.
:
: OpenDialog1->FileName 은 UnicodeString형이고
: strcpy함수는 인자로 char*를 받기 때문에
:
: 다음과 같이 t_str()로 해주시면 짤리지 않고 정상적으로 나옵니다.
:
: strcpy(aaa, OpenDialog1->FileName.t_str());     //.t_csr()을 사용
:
:
:
: 초보사용자 님이 쓰신 글 :
: :
: : char aaa[256];
: : .
: : .
: : .
: : strcpy(aaa, OpenDialog1->FileName.c_str());
: :
: : 이렇게 코딩이 돼있고요...
: : 옛날 버전 빌더로는 제대로 컴파일이 됐었는데, C++Builder XE5로 설치하고
: : 실행했더니 에러가 납니다.
: :
: : Cannot convert 'wchar t*' to 'const char *'  <-이런 에러가 납니다.
: :
: : 그래서
: : strcpy(aaa, (const char *)OpenDialog1->FileName.c_str());
: : 이렇게 했더니 에러는 없어졌는데,
: : 정상적으로 strcpy가 안되고 첫글자 하나만 aaa에 들어가네요....
: :
: : 조언부탁드립니다.
: :
: : 미리 꾸벅^^*

+ -

관련 글 리스트
71187 strcpy 사용문제... 초보사용자 3134 2014/04/11
71207     [답변] AnsiString 과 UnicodeString의 c_str()의 차이 정성훈.해미 4819 2014/04/12
71208         Re:[답변] XE5에서 c_str() 과 t_str() 구분 없이 둘다 wchar*를 반환함 3451 2014/04/12
71210             Re:Re:[답변] XE5에서 c_str() 과 t_str() 구분 없이 둘다 wchar*를 반환함 4636 2014/04/12
71211                 -> 정성훈.해미 입니다. 로그인을 안하고 답글을 쓴걸 몰랐습니다. 정성훈.해미 3378 2014/04/12
71188     Re:strcpy 사용문제... pwrlove 3443 2014/04/11
71191         Re:Re:strcpy 사용문제... 3541 2014/04/11
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.