C/C++/VC++ / MFC

CString을 char *(을)로 변환할수 없습니다.

뚱2 2008. 2. 20. 17:10
Visual Studio 2005을 처음 사용하다 보면은 자주 나타나는 에러입니다.
2005 는 기본적으로 유니코드 입니다. 그래서 변환시 에러가 발생합니다.

방법은
1. (LPTSTR)(LPCTSTR)로 강제 형변환
2. CString str;
   str.GetBuffer(str.GetLength());
   해주시면 char *을 리턴합니다.

사용예
1번의 경우는 스트링을 읽는 목적으로만 사용할때 요긴합니다.
2번의 경우는 스트링을 수정해야 할때 사용하면 편합니다.


ps. 위 두가지 방법중에 2번을 추천합니다.
      그리고 GetBuffer를 사용하시면 ReleaseBuffer()를 사용해서 해제해 주셔야합니다.