글
TCHAR, Unicode
Routine Mappings
The generic-text routine mappings are defined in TCHAR.H. _tccpy and _tclen map to functions in the MBCS model; they are mapped to macros or inline functions in the SBCS and Unicode models for completeness. For information on a generic text routine, see the help topic about the corresponding SBCS-,_MBCS-, or _UNICODE-related routine.
More specific information about individual routines listed in the left column in the following table is not available in this documentation. However, you can easily look up the information on a corresponding SBCS-, _MBCS-, or _UNICODE-related routine. Use the Search command on the Help menu to look up any generic-text routine listed below.
For related information, see Generic-Text Mappings in TCHAR.H.
Generic-text routine name | SBCS (_UNICODE & MBCS not defined) | _MBCS defined | _UNICODE defined |
---|---|---|---|
_cgetts | _cgets | _cgets | _cgetws |
_cgetts_s | _cgets_s | _cgets_s | _cgetws_s |
_cputts | _cputs | _cputs | _cputws |
_fgettc | fgetc | fgetc | fgetwc |
_fgettchar | _fgetchar | _fgetchar | _fgetwchar |
_fgetts | fgets | fgets | fgetws |
_fputtc | fputc | fputc | fputwc |
_fputtchar | _fputchar | _fputchar | _fputwchar |
_fputts | fputs | fputs | fputws |
_ftprintf | fprintf | fprintf | fwprintf |
_ftprintf_s | fprintf_s | fprintf_s | fwprintf_s |
_ftscanf | fscanf | fscanf | fwscanf |
_ftscanf_s | fscanf_s | fscanf_s | fwscanf_s |
_gettc | getc | getc | getwc |
_gettch | _getch | _getch | _getwch |
_gettchar | getchar | getchar | getwchar |
_gettche | _getche | _getche | _getwche |
_getts | gets | gets | getws |
_getts_s | gets_s | gets_s | getws_s |
_istalnum | isalnum | _ismbcalnum | iswalnum |
_istalpha | isalpha | _ismbcalpha | iswalpha |
_istascii | isascii | isascii | iswascii |
_istcntrl | iscntrl | iscntrl | iswcntrl |
_istdigit | isdigit | _ismbcdigit | iswdigit |
_istgraph | isgraph | _ismbcgraph | iswgraph |
_istlead | Always returns false | _ismbblead | Always returns false |
_istleadbyte | Always returns false | isleadbyte | Always returns false |
_istlegal | Always returns true | _ismbclegal | Always returns true |
_istlower | islower | _ismbclower | iswlower |
_istprint | isprint | _ismbcprint | iswprint |
_istpunct | ispunct | _ismbcpunct | iswpunct |
_istspace | isspace | _ismbcspace | iswspace |
_istupper | isupper | _ismbcupper | iswupper |
_istxdigit | isxdigit | isxdigit | iswxdigit |
_itot | _itoa | _itoa | _itow |
_itot_s | _itoa_s | _itoa_s | _itow_s |
_ltot | _ltoa | _ltoa | _ltow |
_ltot_s | _ltoa_s | _ltoa_s | _ltow_s |
_puttc | putc | putc | putwc |
_puttch | _putch | _putch | _putwch |
_puttchar | putchar | putchar | putwchar |
_putts | puts | puts | _putws |
_sctprintf | _scprintf | _scprintf | _scwprintf |
_sntprintf | _snprintf | _snprintf | _snwprintf |
_sntprintf_s | _snprintf_s | _snprintf_s | _snwprintf_s |
_sntscanf | _snscanf | _snscanf | _snwscanf |
_sntscanf_s | _snscanf_s | _snscanf_s | _snwscanf_s |
_stprintf | sprintf | sprintf | swprintf |
_stprintf_s | sprintf_s | sprintf_s | swprintf_s |
_stscanf | sscanf | sscanf | swscanf |
_stscanf_s | sscanf_s | sscanf_s | swscanf_s |
_taccess | _access | _access | _waccess |
_taccess_s | _access_s | _access_s | _waccess_s |
_tasctime | asctime | asctime | _wasctime |
_tasctime_s | asctime_s | asctime_s | _wasctime_s |
_tccmp | Maps to macro or inline function | _mbsncmp | Maps to macro or inline function |
_tccpy | Maps to macro or inline function | _mbccpy | Maps to macro or inline function |
_tccpy_s | (1글자만 복사됨)strcpy_s | _mbccpy_s | wcscpy_s |
_tchdir | _chdir | _chdir | _wchdir |
_tclen | Maps to macro or inline function | _mbclen | Maps to macro or inline function |
_tchmod | _chmod | _chmod | _wchmod |
_tcprintf | _cprintf | _cprintf | _cwprintf |
_tcprintf_s | _cprintf_s | _cprintf_s | _cwprintf_s |
_tcreat | _creat | _creat | _wcreat |
_tcscanf | _cscanf | _cscanf | _cwscanf |
_tcscanf_s | _cscanf_s | _cscanf_s | _cwscanf_s |
_tcscat | strcat | _mbscat | wcscat |
_tcscat_s | strcat_s | _mbscat_s | wcscat_s |
_tcschr | strchr | _mbschr | wcschr |
_tcsclen | strlen | _mbslen | wcslen |
_tcsclen_s | strlen_s | _mbslen_s | wcslen_s |
_tcscmp | strcmp | _mbscmp | wcscmp |
_tcscoll | strcoll | _mbscoll | wcscoll |
_tcscpy | strcpy | _mbscpy | wcscpy |
_tcscpy_s | strcpy_s | _mbscpy_s | wcscpy_s |
_tcscspn | strcspn | _mbscspn | wcscspn |
_tcsdec | _strdec | _mbsdec | _wcsdec |
_tcsdup | _strdup | _mbsdup | _wcsdup |
_tcserror | strerror | strerror | _wcserror |
_tcserror_s | strerror_s | strerror_s | _wcserror_s |
_tcsftime | strftime | strftime | wcsftime |
_tcsicmp | _stricmp | _mbsicmp | _wcsicmp |
_tcsicoll | _stricoll | _mbsicoll | _wcsicoll |
_tcsinc | _strinc | _mbsinc | _wcsinc |
_tcslen | strlen | strlen | wcslen |
_tcslwr | _strlwr | _mbslwr | _wcslwr |
_tcslwr_s | _strlwr_s | _mbslwr_s | _wcslwr_s |
_tcsnbcnt | _strncnt | _mbsnbcnt | _wcsncnt |
_tcsncat | strncat | _mbsnbcat | wcsncat |
_tcsncat_s | strncat_s | _mbsnbcat_s | wcsncat_s |
_tcsnccat | strncat | _mbsncat | wcsncat |
_tcsnccmp | strncmp | _mbsncmp | wcsncmp |
_tcsnccmp_s | strncmp_s | _mbsncmp_s | wcsncmp_s |
_tcsnccoll | _strncoll | _mbsncoll | _wcsncoll |
_tcsncmp | strncmp | _mbsnbcmp | wcsncmp |
_tcsnccnt | _strncnt | _mbsnccnt | _wcsncnt |
_tcsnccpy | strncpy | _mbsncpy | wcsncpy |
_tcsnccpy_s | strncpy_s | _mbsncpy_s | wcsncpy_s |
_tcsncicmp | _strnicmp | _mbsnicmp | _wcsnicmp |
_tcsncicoll | _strnicoll | _mbsnicoll | _wcsnicoll |
_tcsncpy | strncpy | _mbsnbcpy | wcsncpy |
_tcsncpy_s | strncpy_s | _mbsnbcpy_s | wcsncpy_s |
_tcsncset | _strnset | _mbsnset | _wcsnset |
_tcsnextc | _strnextc | _mbsnextc | _wcsnextc |
_tcsnicmp | _strnicmp | _mbsnbicmp | _wcsnicmp |
_tcsnicoll | _strnicoll | _mbsnbicoll | _wcsnicoll |
_tcsninc | _strninc | _mbsninc | _wcsninc |
_tcsnccnt | _strncnt | _mbsnccnt | _wcsncnt |
_tcsnset | _strnset | _mbsnbset | _wcsnset |
_tcspbrk | strpbrk | _mbspbrk | wcspbrk |
_tcsspnp | _strspnp | _mbsspnp | _wcsspnp |
_tcsrchr | strrchr | _mbsrchr | wcsrchr |
_tcsrev | _strrev | _mbsrev | _wcsrev |
_tcsset | _strset | _mbsset | _wcsset |
_tcsspn | strspn | _mbsspn | wcsspn |
_tcsstr | strstr | _mbsstr | wcsstr |
_tcstod | strtod | strtod | wcstod |
_tcstoi64 | _strtoi64 | _strtoi64 | _wcstoi64 |
_tcstok | strtok | _mbstok | wcstok |
_tcstok_s | strtok_s | _mbstok_s | wcstok_s |
_tcstol | strtol | strtol | wcstol |
_tcstoui64 | _strtoui64 | _strtoui64 | _wcstoui64 |
_tcstoul | strtoul | strtoul | wcstoul |
_tcsupr | _strupr | _mbsupr | _wcsupr |
_tcsupr_s | _strupr_s | _mbsupr_s | _wcsupr_s |
_tcsxfrm | strxfrm | strxfrm | wcsxfrm |
_tctime | ctime | ctime | _wctime |
_tctime_s | ctime_s | ctime_s | _wctime_s |
_tctime32 | _ctime32 | _ctime32 | _wctime32 |
_tctime32_s | _ctime32_s | _ctime32_s | _wctime32_s |
_tctime64 | _ctime64 | _ctime64 | _wctime64 |
_tctime64_s | _ctime64_s | _ctime64_s | _wctime64_s |
_texecl | _execl | _execl | _wexecl |
_texecle | _execle | _execle | _wexecle |
_texeclp | _execlp | _execlp | _wexeclp |
_texeclpe | _execlpe | _execlpe | _wexeclpe |
_texecv | _execv | _execv | _wexecv |
_texecve | _execve | _execve | _wexecve |
_texecvp | _execvp | _execvp | _wexecvp |
_texecvpe | _execvpe | _execvpe | _wexecvpe |
_tfdopen | _fdopen | _fdopen | _wfdopen |
_tfindfirst | _findfirst | _findfirst | _wfindfirst |
_tfindnext | _findnext | _findnext | _wfindnext |
_tfindnext32 | _findnext32 | _findnext32 | _wfindnext32 |
_tfindnext64 | _findnext64 | _findnext64 | _wfindnext64 |
_tfindnexti64 | _findnexti64 | _findnexti64 | _wfindnexti64 |
_tfindnexti6432 | _findnexti6432 | _findnexti6432 | _wfindnexti6432 |
_tfindnext32i64 | _findnext32i64 | _findnext32i64 | _wfindnext32i64 |
_tfopen | fopen | fopen | _wfopen |
_tfopen_s | fopen_s | fopen_s | _wfopen_s |
_tfreopen | freopen | freopen | _wfreopen |
_tfreopen_s | freopen_s | freopen_s | _wfreopen_s |
_tfsopen | _fsopen | _fsopen | _wfsopen |
_tfullpath | _fullpath | _fullpath | _wfullpath |
_tgetcwd | _getcwd | _getcwd | _wgetcwd |
_tgetdcwd | _getdcwd | _getdcwd | _wgetdcwd |
_tgetenv | getenv | getenv | _wgetenv |
_tgetenv_s | getenv_s | getenv_s | _wgetenv_s |
_tmain | main | main | wmain |
_tmakepath | _makepath | _makepath | _wmakepath |
_tmakepath_s | _makepath_s | _makepath_s | _wmakepath_s |
_tmkdir | _mkdir | _mkdir | _wmkdir |
_tmktemp | _mktemp | _mktemp | _wmktemp |
_tmktemp_s | _mktemp_s | _mktemp_s | _wmktemp_s |
_topen | _open | _open | _wopen |
_topen_s | _open_s | _open_s | _wopen_s |
_totlower | tolower | _mbctolower | towlower |
_totupper | toupper | _mbctoupper | towupper |
_tperror | perror | perror | _wperror |
_tpopen | _popen | _popen | _wpopen |
_tprintf | printf | printf | wprintf |
_tprintf_s | printf_s | printf_s | wprintf_s |
_tputenv | _putenv | _putenv | _wputenv |
_tputenv_s | _putenv_s | _putenv_s | _wputenv_s |
_tremove | remove | remove | _wremove |
_trename | rename | rename | _wrename |
_trmdir | _rmdir | _rmdir | _wrmdir |
_tsearchenv | _searchenv | _searchenv | _wsearchenv |
_tsearchenv_s | _searchenv_s | _searchenv_s | _wsearchenv_s |
_tscanf | scanf | scanf | wscanf |
_tscanf_s | scanf_s | scanf_s | wscanf_s |
_tsetlocale | setlocale | setlocale | _wsetlocale |
_tsopen | _sopen | _sopen | _wsopen |
_tsopen_s | _sopen_s | _sopen_s | _wsopen_s |
_tspawnl | _spawnl | _spawnl | _wspawnl |
_tspawnle | _spawnle | _spawnle | _wspawnle |
_tspawnlp | _spawnlp | _spawnlp | _wspawnlp |
_tspawnlpe | _spawnlpe | _spawnlpe | _wspawnlpe |
_tspawnv | _spawnv | _spawnv | _wspawnv |
_tspawnve | _spawnve | _spawnve | _wspawnve |
_tspawnvp | _spawnvp | _spawnvp | _wspawnvp |
_tspawnvpe | _spawnvpe | _spawnvpe | _wspawnvpe |
_tsplitpath | _splitpath | _splitpath | _wsplitpath |
_tstat | _stat | _stat | _wstat |
_tstat32 | _stat32 | _stat32 | _wstat32 |
_tstati32 | _stati32 | _stati32 | _wstati32 |
_tstat64 | _stat64 | _stat64 | _wstat64 |
_tstati64 | _stati64 | _stati64 | _wstati64 |
_tstof | atof | atof | _wtof |
_tstoi | atoi | atoi | _wtoi |
_tstoi64 | _atoi64 | _atoi64 | _wtoi64 |
_tstol | atol | atol | _wtol |
_tstrdate | _strdate | _strdate | _wstrdate |
_tstrdate_s | _strdate_s | _strdate_s | _wstrdate_s |
_tstrtime | _strtime | _strtime | _wstrtime |
_tstrtime_s | _strtime_s | _strtime_s | _wstrtime_s |
_tsystem | system | system | _wsystem |
_ttempnam | _tempnam | _tempnam | _wtempnam |
_ttmpnam | tmpnam | tmpnam | _wtmpnam |
_ttmpnam_s | tmpnam_s | tmpnam_s | _wtmpnam_s |
_ttoi | atoi | atoi | _wtoi |
_ttoi64 | _atoi64 | _atoi64 | _wtoi64 |
_ttol | atol | atol | _wtol |
_tunlink | _unlink | _unlink | _wunlink |
_tutime | _utime | _utime | _wutime |
_tutime32 | _utime32 | _utime32 | _wutime32 |
_tutime64 | _utime64 | _utime64 | _wutime64 |
_tWinMain | WinMain | WinMain | wWinMain |
_ui64tot | _ui64toa | _ui64toa | _ui64tow |
_ui64tot_s | _ui64toa_s | _ui64toa_s | _ui64tow_s |
_ultot | _ultoa | _ultoa | _ultow |
_ultot_s | _ultoa_s | _ultoa_s | _ultow_s |
_ungettc | ungetc | ungetc | ungetwc |
_ungettch | _ungetch | _ungetch | _ungetwch |
_vftprintf | vfprintf | vfprintf | vfwprintf |
_vftprintf_s | vfprintf_s | vfprintf_s | vfwprintf_S |
_vsctprintf | _vscprintf | _vscprintf | _vscwprintf |
_vsctprintf_s | _vscprintf_s | _vscprintf_s | _vscwprintf_S |
_vsntprintf | _vsnprintf | _vsnprintf | _vsnwprintf |
_vsntprintf_s | _vsnprintf_s | _vsnprintf_s | _vsnwprintf_s |
_vstprintf | vsprintf | vsprintf | vswprintf |
_vstprintf_s | vsprintf_s | vsprintf_s | vswprintf_s |
_vtprintf | vprintf | vprintf | vwprintf |
_vtprintf_s | vprintf_s | vprintf_s | vwprintf_s |
출처 : http://msdn.microsoft.com/en-us/library/tsbaswba(v=vs.110).aspx
strcpy_s가 _tccpy_s 라고 되어있는데.. 1글자만 복사되더라..
_tcscpy_s로 사용할 것
TCHAR 자료형에 대한 편한 변환방식이 있습니다.
가장 쉬운 방법은 ATLCONV 를 사용하는 방법으로 사용법은 아래와 같습니다.
#include <atlconv.h>
사용 위치 앞에서
USES_CONVERSION; // 사용 전에 선언하셔야 합니다. 내부적으로 사용할 버퍼를 할당합니다.
char ip[256] = {NULL, }
strcpy_s(ip, T2A(DEFAULT_IP));
여기서 T2A 란 TCHAR TO ASCII 의 줄임말 (아마도 이렇게 추측되네요) 로 생각됩니다.
같은 의미로
T2A ( TCHAR -> CHAR)
A2T ( CHAR -> TCHAR)
외에도
T2CA
A2CT
CT2CA
CA2CT 등이 존재합니다. 여기서 C는 const의 줄임말입니다.
//추가내용
//링크에러가 나는 경우 => #pragma comment(lib, "atls.lib")를 포함시켜줘야한다.
출처 : 지식인
이외의 여러가지 변환방법
http://blog.naver.com/skywood1?Redirect=Log&logNo=100129022023
'프로그래밍 > C/C++' 카테고리의 다른 글
[l4d2_plugins] Notepad++환경설정 (0) | 2015.04.05 |
---|---|
[Linux] Vim search & replace (0) | 2013.11.21 |
[Error] C++ stl set 사용중 연산자를 재정의 해야하는것 (0) | 2013.10.13 |
[펌]문자열 함수, Ansi, Unicode, TCHAR (0) | 2013.03.05 |
__int64 / long long int (1) | 2013.02.27 |
RECENT COMMENT