|
|
1.1 root 1: /***
2: *tchar.h - definitions for generic international functions
3: *
1.1.1.3 ! root 4: * Copyright (c) 1991-1993, Microsoft Corporation. All rights reserved.
1.1 root 5: *
6: *Purpose:
7: * Definitions for generic international functions, mostly defines
8: * which map string/formatted-io/ctype functions to char or wide-char
9: * versions.
10: *
11: * NOTE: it is meaningless to support multibyte/wide-char conversions
12: *
13: ****/
14:
15: #ifndef _INC_TCHAR
16:
17: #ifdef __cplusplus
18: extern "C" {
19: #endif
20:
21: #ifdef _UNICODE
22:
1.1.1.2 root 23: #ifndef _TCHAR_DEFINED
1.1 root 24: typedef wchar_t TCHAR;
1.1.1.2 root 25: #define _TCHAR_DEFINED
26: #endif
27:
1.1.1.3 ! root 28: #define __T(x) L ## x
! 29:
! 30: #define _TEOF WEOF
1.1 root 31:
32: #define _tprintf wprintf
33: #define _ftprintf fwprintf
34: #define _stprintf swprintf
35: #define _sntprintf _snwprintf
36: #define _vtprintf vwprintf
37: #define _vftprintf vfwprintf
38: #define _vstprintf vswprintf
39: #define _vsntprintf _vsnwprintf
1.1.1.2 root 40: #define _tscanf wscanf
41: #define _ftscanf fwscanf
42: #define _stscanf swscanf
43:
1.1.1.3 ! root 44: #define _fgettc fgetwc
! 45: #define _fgettchar fgetwchar
! 46: #define _fgetts fgetws
! 47: #define _fputtc fputwc
! 48: #define _fputtchar fputwchar
! 49: #define _fputts fputws
! 50: #define _gettc getwc
! 51: #define _getts getws
! 52: #define _puttc putwc
! 53: #define _putts putws
! 54: #define _ungettc ungetwc
! 55:
1.1.1.2 root 56: #define _tcstod wcstod
57: #define _tcstol wcstol
58: #define _tcstoul wcstoul
1.1 root 59:
60: #define _tcscat wcscat
61: #define _tcschr wcschr
62: #define _tcscmp wcscmp
63: #define _tcscpy wcscpy
64: #define _tcscspn wcscspn
65: #define _tcslen wcslen
66: #define _tcsncat wcsncat
67: #define _tcsncmp wcsncmp
68: #define _tcsncpy wcsncpy
69: #define _tcspbrk wcspbrk
70: #define _tcsrchr wcsrchr
71: #define _tcsspn wcsspn
72: #define _tcsstr wcsstr
1.1.1.2 root 73: #define _tcstok wcstok
1.1 root 74:
75: #define _tcsdup _wcsdup
76: #define _tcsicmp _wcsicmp
77: #define _tcsnicmp _wcsnicmp
78: #define _tcsnset _wcsnset
79: #define _tcsrev _wcsrev
80: #define _tcsset _wcsset
81:
82: #define _tcslwr _wcslwr
83: #define _tcsupr _wcsupr
84: #define _tcsxfrm wcsxfrm
85: #define _tcscoll wcscoll
86: #define _tcsicoll _wcsicoll
87:
88: #define _istalpha iswalpha
89: #define _istupper iswupper
90: #define _istlower iswlower
91: #define _istdigit iswdigit
92: #define _istxdigit iswxdigit
93: #define _istspace iswspace
94: #define _istpunct iswpunct
95: #define _istalnum iswalnum
96: #define _istprint iswprint
97: #define _istgraph iswgraph
98: #define _istcntrl iswcntrl
99: #define _istascii iswascii
100:
101: #define _totupper towupper
102: #define _totlower towlower
103:
1.1.1.3 ! root 104: #else /* _UNICODE */
1.1 root 105:
1.1.1.2 root 106: #ifndef _TCHAR_DEFINED
1.1 root 107: typedef char TCHAR;
1.1.1.2 root 108: #define _TCHAR_DEFINED
109: #endif
110:
1.1.1.3 ! root 111: #define __T(x) x
! 112:
! 113: #define _TEOF EOF
1.1 root 114:
115: #define _tprintf printf
116: #define _ftprintf fprintf
117: #define _stprintf sprintf
118: #define _sntprintf _snprintf
119: #define _vtprintf vprintf
120: #define _vftprintf vfprintf
121: #define _vstprintf vsprintf
122: #define _vsntprintf _vsnprintf
123: #define _tscanf scanf
124: #define _ftscanf fscanf
125: #define _stscanf sscanf
126:
1.1.1.3 ! root 127: #define _fgettc fgetc
! 128: #define _fgettchar fgetchar
! 129: #define _fgetts fgets
! 130: #define _fputtc fputc
! 131: #define _fputtchar fputchar
! 132: #define _fputts fputs
! 133: #define _gettc getc
! 134: #define _getts gets
! 135: #define _puttc putc
! 136: #define _putts puts
! 137: #define _ungettc ungetc
! 138:
1.1.1.2 root 139: #define _tcstod strtod
140: #define _tcstol strtol
141: #define _tcstoul strtoul
142:
1.1 root 143: #define _tcscat strcat
144: #define _tcschr strchr
145: #define _tcscmp strcmp
146: #define _tcscpy strcpy
147: #define _tcscspn strcspn
148: #define _tcslen strlen
149: #define _tcsncat strncat
150: #define _tcsncmp strncmp
151: #define _tcsncpy strncpy
152: #define _tcspbrk strpbrk
153: #define _tcsrchr strrchr
154: #define _tcsspn strspn
155: #define _tcsstr strstr
156: #define _tcstok strtok
157:
158: #define _tcsdup _strdup
159: #define _tcsicmp _stricmp
160: #define _tcsnicmp _strnicmp
161: #define _tcsnset _strnset
162: #define _tcsrev _strrev
163: #define _tcsset _strset
164:
165: #define _tcslwr _strlwr
166: #define _tcsupr _strupr
167: #define _tcsxfrm strxfrm
168: #define _tcscoll strcoll
169: #define _tcsicoll _stricoll
170:
171: #define _istalpha isalpha
172: #define _istupper isupper
173: #define _istlower islower
174: #define _istdigit isdigit
175: #define _istxdigit isxdigit
176: #define _istspace isspace
177: #define _istpunct ispunct
178: #define _istalnum isalnum
179: #define _istprint isprint
180: #define _istgraph isgraph
181: #define _istcntrl iscntrl
182: #define _istascii isascii
183:
184: #define _totupper toupper
185: #define _totlower tolower
186:
1.1.1.3 ! root 187: #endif /* _UNICODE */
! 188:
! 189: #define _T(x) __T(x)
! 190: #define _TEXT(x) __T(x)
1.1 root 191:
192: #ifdef __cplusplus
193: }
194: #endif
195:
196: #define _INC_TCHAR
197: #endif /* _INC_TCHAR */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.