티스토리 뷰

목차

    반응형

    TCHAR -> string 변환, C++ 문자열 자료형 컨버팅 


    TCHAR - string 변환, C++ 문자열 자료형 컨버팅[MFC 강좌] 자료형 변환 (컨버팅)


    TCHAR에서 std::string으로 변환하는 예제 코드입니다.


    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    const std::string TCHARToString(const TCHAR* ptsz)
    {
        int len = wcslen((wchar_t*)ptsz);
     
        char* psz = new char[2 * len + 1];
     
        wcstombs(psz, (wchar_t*)ptsz, 2 * len + 1);
        std::string s = psz;
     
        delete[] psz;
     
        return s;
    }
    cs


    위 함수 코드에 인자에 TCHAR 배열을 넘기면 string 변수가 리턴됩니다.




    예를 들면 아래처럼 사용할 수 있습니다.


    1
    2
    3
    4
    5
    TCHAR tchar_str[MAX_PATH] = { 0, };
     
    GetModuleFileName(NULL, tchar_str, _MAX_PATH);
     
    string std_str = TCHARToString(tchar_str);
    cs


    1. TCHAR 배열에 실행 파일의 경로를 할당
    2. TCHAR 배열을 맨 위의 TCHARToString() 함수의 인자로 전달
    3. string 형태로 리턴된 값을 사용


    TCHAR -> string 변환, C++ 문자열 자료형 컨버팅

    반응형