MFC_문자열(L접두사 기능)
MFC (Microsoft Foundation Classes)에서 유니코드 문자열을 다룰 때 L 접두사를 사용한다.
이 접두사는 문자열이 유니코드로 처리되어야 함을 나타내며, wchar_t 타입의 문자 배열로 문자열을 저장한다.
L 접두사를 사용하여 MFC에서 유니코드 문자열을 다루는 몇 가지 예제.
1. 유니코드 문자열 초기화
CStringW str1 = L"안녕하세요, 세계!";
CStringW str2(L"MFC 프로그래밍");
2. 문자열 결합
CStringW str1 = L"안녕, ";
CStringW str2 = L"세계!";
CStringW str3;
str3 = str1 + str2; // "안녕, 세계!"
3. 문자열 길이
CStringW str = L"안녕하세요, 세계!";
int len = str.GetLength(); // 문자열의 길이 반환
4. 문자열 비교
CStringW str1 = L"안녕";
CStringW str2 = L"안녕";
if (str1.Compare(str2) == 0) // 대소문자 구분하여 비교
{
// 같은 문자열
}
if (str1.CompareNoCase(str2) == 0) // 대소문자 구분 없이 비교
{
// 같은 문자열
}
5. 문자열 찾기
CStringW str = L"안녕하세요, 세계!";
int pos = str.Find(L'세'); // '세'의 위치 찾기; 반환 값은 '세'의 인덱스
6. 문자열 교체
CStringW str = L"안녕하세요, 세계!";
str.Replace(L'세', L'수'); // '세'를 '수'로 교체
7. 문자열 추출
CStringW str = L"안녕하세요, 세계!";
CStringW substr = str.Mid(7, 3); // 인덱스 7부터 3글자 추출; "세계!"
8. 문자열에서 숫자로 변환
CStringW str = L"123";
int number = _wtoi(str); // CStringW를 int로 변환
9. 숫자에서 문자열로 변환
int number = 123;
CStringW str;
str.Format(L"%d", number); // int를 CStringW로 변환
MFC에서 유니코드 문자열을 다룰 때 CStringW 클래스를 사용하고,
L 접두사를 사용하여 리터럴 문자열을 유니코드로 표시한다.
이 방식은 문자열 처리에 있어서 유니코드를 기본으로 하면서 다국어 지원을 강화하는 데에 유용하다.