본문 바로가기

C, C++, C#/MFC

MFC - typeid를 이용한 문자열 형변환 소스코드

반응형

안녕하세요. 아주 간단한 형변화 함수를 작성해 두려고 합니다.

 

간단하게 template와 typeid를 통해 사용하시면됩니다. 

 

#include "iostream"

template <class T>
CString GetValueToString(T& tVal)
{
	CString str = L"";

	if(typeid(tVal).name() == typeid(int).name())
	{
		str.Format(L"%d", tVal);
	}
	else if(typeid(tVal).name() == typeid(float).name() || typeid(tVal).name() == typeid(double).name())
	{
		str.Format(L"%f", tVal);
	}
	else if(typeid(tVal).name() == typeid(CString).name())
	{
		str.Format(L"%s", tVal);
	}


	return str;
}

 

typeid의 정보를 변수화 하고 싶은 경우에는 아래와 같이 하시면 됩니다.

 

const std::type_info& ti = typeid(tVal)

 

 

반응형