안녕하세요. 취업한 공대누나입니다.
오늘은 CString 클래스에 대한 내용을 다뤄보도록 하겠습니다.
크게 어려운 내용이 있지는 않으나 필요한 내용을 요약하여 나중에 편리하게 이용할 수 있을 것 같습니다.
1. CString 클래스
MFC에서 문자열을 편하게 관리할 수 있도록 제공하는 클래스입니다.
다양한 기능과 예외 처리를 제공하기 때문에 초보자들이 사용하기에 적합합니다.
문자열을 비교, 부분 문자열 검색, 대소문자 변환 등 다양한 기능이 있습니다.
![]() |
문자열을 직접 대입할 수도 위의 소스코드처럼 +연산자를 사용하여 문자열 두개를 더할수도 있습니다.
CString str = _T("");
_T는 CString 클래스를 초기화해주는 매크로입니다.
_T("입력하고 싶은 내용");를 해주면 초기화가 됩니다.
주요 특징은 아래와 같습니다.
우선 ANSI 또는 유니코드 문자열을 지원해줍니다.
그리고 가변 길이 문자열을 지원해줍니다.
tprintf 함수에 CString 객체를 그대로 전달하게 되면 컴파일 경고가 뜨게 됩니다.
이것 때문에 LPCTSTR 타입으로 캐스팅을 해주는 것인데요. 캐스팅을 해주지 않아도 동작에 문제가 있지는 않습니다.
2. CString 멤버 함수들 몇가지
GetLength
CString 객체 안에 있는 캐릭터의 수를 반환합니다.
IsEmpty
CString 객체가 비어있는지를 확인합니다.
GetAt
인덱스 넘버에 의해 하나의 문자를 반환합니다.
Compare
Cstring 객체와 다른 문자열을 비교합니다.
MakeUpper
대문자를 소문자로 만들어줍니다.
MakeLower
소문자를 대문자로 만들어줍니다.
TrimLeft
줄, 빈칸, 탭등을 삭제합니다.
Replace
특정 문자열을 다른 문자열로 대체합니다.
Find
문자열에서 특정 문자나 문자열을 찾습니다.
이외에도 정말 많은 함수들이 있습니다. 필요한 것이 있으면 그때 그 때 검색이나 찾아서 사용하면 좋을듯 합니다.
저도 많이 사용해본 것은 아니지만 앞으로 사용할 일이 꽤 있을 것 같습니다.