4. CString 클래스와 CTime 클래스

2024. 4. 17. 16:01[C++]/MFC 프로그래밍 기초

CString

  • 문자열을 다루는데 사용되는 MFC 클래스
  • 기본적으로 유니코드 문자열을 지원하고, 멀티바이트 문자열도 사용할 수 있다.
  • 포인터와 달리 문자열의 할당과 해제를 자동으로 처리하므로 메모리 관리에 용이하다.
  • 문자열 연결, 분할, 검색, 대소문자 변환 등의 작업을 쉽게 처리할 수 있다.

 

🍃  CString의 주요 기능

  • 문자열 생성 및 초기화: 문자열을 생성하고 초기화하는 생성자를 제공한다.
  • 문자열 조작: 문자열을 연결, 분할, 복사, 자르기, 대소문자 변환 등의 작업을 수행할 수 있다.
  • 문자열 검색: 특정 문자열 또는 문자의 존재 여부를 확인하고, 위치를 검색할 수 있다.
  • 문자열 형식 지정: 서식 지정 문자열을 사용하여 문자열을 형식화하고 출력할 수 있다.
  • 문자열 비교: 다른 문자열과의 비교를 통해 문자열의 동등성을 확인할 수 있다.
CString str = _T("Hello, World!"); 
str += _T(" Welcome to MFC."); // 문자열 연결 
CString subStr = str.Mid(7, 5); // 서브 문자열 추출 
int index = str.Find(_T("Welcome"));

CTime

  • 시간과 날짜를 다루는 MFC 클래스
  • 일반적으로 시스템 시간을 나타내는 데 사용된다.
  • 시간 단위 변환, 서로 다른 시간 형식으로의 포맷 변경 등의 작업을 수행할 수 있다.

 

🍃  CTime 클래스의 주요 기능

  • 시간 생성: 현재 시간을 가져오거나 특정 시간을 나타내는 CTime 객체를 생성할 수 있다.
  • 시간 연산: 시간 간의 차이를 계산하거나 특정 시간에 대해 경과한 시간을 계산할 수 있다.
  • 시간 형식 지정: 서식 지정 문자열을 사용하여 시간을 원하는 형식으로 출력할 수 있다.
  • 시간 변환: 다른 시간 단위로의 변환을 수행하거나 CTimeSpan 객체로부터 시간을 가져올 수 있다.
  • 시간 비교: 다른 시간과의 비교를 통해 시간의 순서를 확인할 수 있다.
  • 시간 정보 추출: 년, 월, 일, 시, 분, 초 등의 시간 정보를 추출할 수 있다
 
CTime currentTime = CTime::GetCurrentTime(); // 현재 시간 가져오기
CTime specificTime(2024, 4, 18, 10, 30, 0); // 특정 시간 생성
CString strTime = specificTime.Format(_T("%Y-%m-%d %H:%M:%S")); // 시간 포맷 지정
CTimeSpan elapsedTime = currentTime - specificTime; // 경과 시간 계산
int daysElapsed = elapsedTime.GetDays(); // 경과 일 수 가져오기
반응형