|
|
1.1 root 1: /***
2: *tchar.h - definitions for generic international functions
3: *
4: * Copyright (c) 1991-1992, Microsoft Corporation. All rights reserved.
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:
22: /* obsolete: remove any references */
23: #define _TSTART
24:
25: #ifdef _UNICODE
26:
27: typedef wchar_t TCHAR;
28: #define _T(x) L ## x
29:
30: #define _tprintf wprintf
31: #define _ftprintf fwprintf
32: #define _stprintf swprintf
33: #define _sntprintf _snwprintf
34: #define _vtprintf vwprintf
35: #define _vftprintf vfwprintf
36: #define _vstprintf vswprintf
37: #define _vsntprintf _vsnwprintf
38:
39: #define _tcscat wcscat
40: #define _tcschr wcschr
41: #define _tcscmp wcscmp
42: #define _tcscpy wcscpy
43: #define _tcscspn wcscspn
44: #define _tcslen wcslen
45: #define _tcsncat wcsncat
46: #define _tcsncmp wcsncmp
47: #define _tcsncpy wcsncpy
48: #define _tcspbrk wcspbrk
49: #define _tcsrchr wcsrchr
50: #define _tcsspn wcsspn
51: #define _tcsstr wcsstr
52:
53: #define _tcsdup _wcsdup
54: #define _tcsicmp _wcsicmp
55: #define _tcsnicmp _wcsnicmp
56: #define _tcsnset _wcsnset
57: #define _tcsrev _wcsrev
58: #define _tcsset _wcsset
59:
60: #define _tcslwr _wcslwr
61: #define _tcsupr _wcsupr
62: #define _tcsxfrm wcsxfrm
63: #define _tcscoll wcscoll
64: #define _tcsicoll _wcsicoll
65:
66: #define _istalpha iswalpha
67: #define _istupper iswupper
68: #define _istlower iswlower
69: #define _istdigit iswdigit
70: #define _istxdigit iswxdigit
71: #define _istspace iswspace
72: #define _istpunct iswpunct
73: #define _istalnum iswalnum
74: #define _istprint iswprint
75: #define _istgraph iswgraph
76: #define _istcntrl iswcntrl
77: #define _istascii iswascii
78:
79: #define _totupper towupper
80: #define _totlower towlower
81:
82: #else
83:
84: typedef char TCHAR;
85: #define _T(x) x
86:
87: #define _tprintf printf
88: #define _ftprintf fprintf
89: #define _stprintf sprintf
90: #define _sntprintf _snprintf
91: #define _vtprintf vprintf
92: #define _vftprintf vfprintf
93: #define _vstprintf vsprintf
94: #define _vsntprintf _vsnprintf
95: #define _tscanf scanf
96: #define _ftscanf fscanf
97: #define _stscanf sscanf
98:
99: #define _tcscat strcat
100: #define _tcschr strchr
101: #define _tcscmp strcmp
102: #define _tcscpy strcpy
103: #define _tcscspn strcspn
104: #define _tcslen strlen
105: #define _tcsncat strncat
106: #define _tcsncmp strncmp
107: #define _tcsncpy strncpy
108: #define _tcspbrk strpbrk
109: #define _tcsrchr strrchr
110: #define _tcsspn strspn
111: #define _tcsstr strstr
112: #define _tcstok strtok
113:
114: #define _tcsdup _strdup
115: #define _tcsicmp _stricmp
116: #define _tcsnicmp _strnicmp
117: #define _tcsnset _strnset
118: #define _tcsrev _strrev
119: #define _tcsset _strset
120:
121: #define _tcslwr _strlwr
122: #define _tcsupr _strupr
123: #define _tcsxfrm strxfrm
124: #define _tcscoll strcoll
125: #define _tcsicoll _stricoll
126:
127: #define _istalpha isalpha
128: #define _istupper isupper
129: #define _istlower islower
130: #define _istdigit isdigit
131: #define _istxdigit isxdigit
132: #define _istspace isspace
133: #define _istpunct ispunct
134: #define _istalnum isalnum
135: #define _istprint isprint
136: #define _istgraph isgraph
137: #define _istcntrl iscntrl
138: #define _istascii isascii
139:
140: #define _totupper toupper
141: #define _totlower tolower
142:
143: #endif /* _UNICODE */
144:
145: #ifdef __cplusplus
146: }
147: #endif
148:
149: #define _INC_TCHAR
150: #endif /* _INC_TCHAR */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.