본문 바로가기
MFC

[MFC] CString 문자열 파싱

by 카피마스터 2025. 3. 2.

1. AfxExtractSubString 함수 사용

구분자가 문자일때 간단하게 사용가능

 

함수 형태

BOOL AfxExtractSubString(결과 스트링, 원본 스트링, 위치, 구분자)

 

ex) inCommand를 " " 로 파싱해서 CStringArray에 담는 로직

void CEchoMFCClientDlg::ProcessCommand(const CString& inCommand)
{
	// 파싱한 문자열을 담을 배열
	CStringArray subStringList;

	// 구분자(문자)
	TCHAR delimiter = _T(' ');
	
	// 얻을 위치 정보
	int pos = 0;

	while (true)
	{
		CString subString;
		BOOL result = AfxExtractSubString(subString, inCommand, pos, delimiter);
		if (FALSE == result) 
		{
			// 더이상 없다면 나간다
			break;
		}

		// 추가
		subStringList.Add(subString);

		// 위치 증가
		++pos;
	}

	// 먼가 처리
}