C++프로그래밍/MFC

CString 과 CFile (문자열 편하게 처리하기)

season97 2025. 3. 6. 14:53

# CString

 

•MFC 기반 응용프로그램에서 문자열 처리를 지원하는 클래스로 MBCS, Unicode에 대한 지원과 추상성 제공

 

•MFC 응용프로그램에서는 std::string보다는 CString 사용을 권장

 

•문자열 사용에 대한 매우 높은 호환성 제공

 

•내부적으로 효율을 높이기 위한메모리 운영기능을 제공 하지만 간혹 메모리 사용량 증가의 원인으로 작용

 

•함수 매개변수로 사용 시 주의(빌드모드이슈)

 

※ MFC에서 new연산자는 Debug, Release모드에 각각 다르게 작동한다 

ㆍ 또한 CString은 문자열을 이런식으로 작성하면 (길이가 늘엇다 줄어든 경우) 이러면 빈공간이 줄어들지 않아 메모리가 낭비된다

 

 

CString 

ㆍ 연산자를 지원한다.

CompateNoCase는 대소문자를 구분할것인가? 에 대한 옵션

Trime() 함수는 공백을 잘라주는 함수다. 

 

ㆍ Format() : 형식 문자열 (printf처럼)

 

ㆍ LoadString() : 문자열을 리소스로 만들어서 사용

 

메모리를 찍으면 첫번째 위치의 주소가 찍힌다.

ㆍ 실 사용 예시. wprintf 는 유니코드와 멀티바이트를 알아서 잘 처리해준다. 

 


# CFile

ㆍ 직렬화는 생각보다 불편하다. 필요한지 안필요한지 잘 판단해서 사용하자.

ㆍ 파일 입출력은 웬만하면 그냥 c부분 활용하자