ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 2014.12.21 LPCTSTR LPTSTR
    Legacy/뇌자극 - WinSysProg 2014. 12. 21. 10:36
    728x90



    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    LPSTR         CHAR *
    LPCSTR        CONST CHAR *
     
    LPWSTR         WCHAR *
    LPCWSTR     CONST WCHAR *
     
     
    #ifdef UNICODE
        typedef WCHAR         TCHAR;
        typedef LPWSTR        LPTSTR;
        typedef LPCWSTR       LPCTSTR;
    #else
        typedef CHAR          TCHAR;
        typedef LPSTR         LPTSTR;
        typedef LPCSTR        LPCTSTR;
    #endif
     
     
    #ifdef _UNICODE
        #define __T(x)    L ## x
    #else
        #define __T(x)    x
    #endif
     
    #define _T(x)           __T(x)
    #define _TEXT(x)       __T(x)
     
     
    #ifdef _UNIDOCE
        #define _tmain         wmain
        #define _tcslen        wcslen
        #define _tcscat        wcscat
        #define _tcscpy        wcscpy
        #define _tcsncpy     wcsncpy
        #define _tcscmp        wcscmp
        #define _tcsncmp     wcsncmp
        #define _tprintf     wprintf
        #define _tscanf        wscanf
        #define _fgetts        fgetws
        #define _fputts        fputws
    #else
        #define _tmain         main
        #define _tcslen        strlen
        #define _tcscat        strcat
        #define _tcscpy        strcpy
        #define _tcsncpy     strncpy
        #define _tcscmp        strcmp
        #define _tcsncmp     strncmp
        #define _tprintf     printf
        #define _tscanf        scanf
        #define _fgetts        fgets
        #define _fputts        fputs
    #endif
    cs


    tchar.h는 windows.h에 포함되지 않음.



    최종 예제

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    #define UNICODE
    #define _UNICODE
     
    #include <stdio.h>
    #include <tchar.h>
    #include <Windows.h>
     
    int _tmain(int argc, TCHAR* argv[])
    {
        LPTSTR str1 = _T("MBCS or WBCS 1");
        TCHAR str2[] = _T("mbcs OR wbcd 2");
        TCHAR str3[100];
        TCHAR str4[50];
     
        LPCTSTR pStr = str1;
     
        _tprintf( _T("string size: %d \n"), sizeof(str2) );
        _tprintf( _T("string length: %d \n"), _tcslen(pStr) );
     
        _fputts(_T("Input String 1 : "), stdout);
        _tscanf(_T("%s"), str3);
        _fputts(_T("Input String 2 : "), stdout);
        _tscanf(_T("%s"), str4);
     
        _tcscat(str3, str4);
        _tprintf( _T("String1 + String2 : %s \n"), str3);
     
        return 0;
    }
     
    cs


Designed by Tistory.