10년째 볼랜드포럼에서 많이 배우고 있는 사람입니다.
빌더 2009를 입수하게 되어서 2007에서 사용하던 프로젝트를 한번 컴파일 해보았는데요.
저는 그동안 AnsiString을 기본으로 쓰고, strcpy() 등과 같이 char*가 필요할 경우 c_str()을
이용해 변환해서 사용했었습니다.
그런데 2009에서는 c_str()을 부르면 char*가 되는 것이 아니고 wchar_t*가 반환되는 거 같군요.
(Unicode가 기준이라서 그런가요)
코드기어 홈페이지에도 보니까 저 같은 사람이 있어서 글을 남겼는데
( https://forums.codegear.com/thread.jspa?messageID=59999&tstart=0 )
대충 읽어보니까,
teamB쪽에서는 코드 바꾸는 거 어렵지 않으니까 조금만 수정하면 된다고 주장하고 있고,
글을 올린 유저쪽에서는 소스가 수십만 줄인데 어떻게 다 고치냐~ 이런 내용인듯합니다.
간단히 말해서
AnsiString str = "test";
char buffer[256];
strcpy( buffer, str.c_str() );
와 같은 소스를 최대한 코드 수정없이 사용하려면 2009에서는 어떻게 해야 정답일까요?
고수님들의 명확한 정리를 기다리겠습니다.
|