ReactOS 0.4.16-dev-736-g28b802b
corecrt_wstring.h
Go to the documentation of this file.
1//
2// corecrt_wstring.h
3//
4// Copyright (c) Microsoft Corporation. All rights reserved.
5//
6// This file declares the wide character (wchar_t) string functionality, shared
7// by <string.h> and <wchar.h>.
8//
9#pragma once
10
11#include <corecrt.h>
12#include <vcruntime_string.h>
13
14#pragma warning(push)
15#pragma warning(disable: _UCRT_DISABLED_WARNINGS)
17
18#ifndef __midl
19
21
22
23
24//-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
25//
26// Secure Alternatives
27//
28//-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
29#if __STDC_WANT_SECURE_LIB__
30
35 _In_z_ wchar_t const* _Source
36 );
37
42 _In_z_ wchar_t const* _Source
43 );
44
49 _In_reads_or_z_(_MaxCount) wchar_t const* _Source,
51 );
52
57 _In_reads_or_z_(_MaxCount) wchar_t const* _Source,
59 );
60
62 _ACRTIMP wchar_t* __cdecl wcstok_s(
63 _Inout_opt_z_ wchar_t* _String,
64 _In_z_ wchar_t const* _Delimiter,
66 );
67
68#endif // __STDC_WANT_SECURE_LIB__
69
70
71
72//-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
73//
74// Wide-Character <string.h> Functions
75//
76//-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
77#if defined _DEBUG && defined _CRTDBG_MAP_ALLOC
78 #pragma push_macro("_wcsdup")
79 #undef _wcsdup
80#endif
81
84 _In_z_ wchar_t const* _String
85 );
86
87#if defined _DEBUG && defined _CRTDBG_MAP_ALLOC
88 #pragma pop_macro("_wcsdup")
89#endif
90
91
92
95 wchar_t, _Destination,
96 _In_z_ wchar_t const*, _Source
97 )
98
99#ifndef RC_INVOKED
102 _Inout_updates_z_(_String_length_(_Destination) + _String_length_(_Source) + 1), wchar_t, _Destination,
103 _In_z_ wchar_t const*, _Source
104 )
105#endif
106
109 _In_z_ wchar_t const* _String1,
110 _In_z_ wchar_t const* _String2
111 );
112
115 wchar_t, _Destination,
116 _In_z_ wchar_t const*, _Source
117 )
118
121 _Out_writes_z_(_String_length_(_Source) + 1), wchar_t, _Destination,
122 _In_z_ wchar_t const*, _Source
123 )
124
127 _In_z_ wchar_t const* _String,
128 _In_z_ wchar_t const* _Control
129 );
130
133 _In_z_ wchar_t const* _String
134 );
135
138 _MaxCount > _String_length_(_Source),
139 _Post_satisfies_(return == _String_length_(_Source))
140)
141_When_(
142 _MaxCount <= _String_length_(_Source),
144)
146 _In_reads_or_z_(_MaxCount) wchar_t const* _Source,
148 );
149
150#if __STDC_WANT_SECURE_LIB__ && !defined(__midl)
151
153 _When_(
154 _MaxCount > _String_length_(_Source),
155 _Post_satisfies_(return == _String_length_(_Source))
156 )
157 _When_(
158 _MaxCount <= _String_length_(_Source),
159 _Post_satisfies_(return == _MaxCount)
160 )
161 static __inline size_t __CRTDECL wcsnlen_s(
162 _In_reads_or_z_(_MaxCount) wchar_t const* _Source,
163 _In_ size_t _MaxCount
164 )
165 {
166 return (_Source == 0) ? 0 : wcsnlen(_Source, _MaxCount);
167 }
168
169#endif // __STDC_WANT_SECURE_LIB__ && !defined(__midl)
170
173 _Prepost_z_ wchar_t, _Destination,
174 _In_reads_or_z_(_Count) wchar_t const*, _Source,
175 _In_ size_t, _Count
176 )
177
183 _In_ size_t, _Count
184 )
185
188 _In_reads_or_z_(_MaxCount) wchar_t const* _String1,
189 _In_reads_or_z_(_MaxCount) wchar_t const* _String2,
190 _In_ size_t _MaxCount
191 );
192
195 wchar_t, _Destination,
196 _In_reads_or_z_(_Count) wchar_t const*, _Source,
197 _In_ size_t, _Count
198 )
199
204 _In_reads_or_z_(_Count) wchar_t const*, _Source,
205 _In_ size_t, _Count
206 )
207
210 _In_z_ wchar_t const* _String,
211 _In_z_ wchar_t const* _Control
212 );
213
216 _In_z_ wchar_t const* _String,
217 _In_z_ wchar_t const* _Control
218 );
219
221_ACRTIMP wchar_t* __cdecl wcstok(
222 _Inout_opt_z_ wchar_t* _String,
223 _In_z_ wchar_t const* _Delimiter,
225 );
226
227#if !defined RC_INVOKED && !defined __midl
228
229 #if defined _CRT_NON_CONFORMING_WCSTOK
230 #define _WCSTOK_DEPRECATED _CRT_INSECURE_DEPRECATE(wcstok_s)
231 #else
232 #define _WCSTOK_DEPRECATED _CRT_DEPRECATE_TEXT( \
233 "wcstok has been changed to conform with the ISO C standard, " \
234 "adding an extra context parameter. To use the legacy Microsoft " \
235 "wcstok, define _CRT_NON_CONFORMING_WCSTOK.")
236 #endif
237
239 static __inline wchar_t* __CRTDECL _wcstok(
240 _Inout_opt_z_ wchar_t* const _String,
241 _In_z_ wchar_t const* const _Delimiter
242 )
243 {
244 return wcstok(_String, _Delimiter, 0);
245 }
246
247 #if defined _CRT_NON_CONFORMING_WCSTOK && !defined __cplusplus
248 #define wcstok _wcstok
249 #endif
250
251 #if defined __cplusplus && !defined _CRT_NO_INLINE_DEPRECATED_WCSTOK
253 inline wchar_t* __CRTDECL wcstok(
254 _Inout_opt_z_ wchar_t* _String,
255 _In_z_ wchar_t const* _Delimiter
256 ) throw()
257 {
258 return wcstok(_String, _Delimiter, 0);
259 }
260 #endif
261
262#endif // !defined RC_INVOKED && !defined __midl
263
264
265
268_ACRTIMP wchar_t* __cdecl _wcserror(
269 _In_ int _ErrorNumber
270 );
271
275 _In_ size_t _SizeInWords,
276 _In_ int _ErrorNumber
277 );
278
281 wchar_t, _Buffer,
282 _In_ int, _Error
283 )
284
286_Success_(return != 0)
289 _In_opt_z_ wchar_t const* _String
290 );
291
294 _In_ size_t _SizeInWords,
295 _In_z_ wchar_t const* _ErrorMessage
296 );
297
300 wchar_t, _Buffer,
301 _In_z_ wchar_t const*, _ErrorMessage
302 )
303
305 _In_z_ wchar_t const* _String1,
307 );
308
310 _In_z_ wchar_t const* _String1,
311 _In_z_ wchar_t const* _String2,
313 );
314
316 _In_reads_or_z_(_MaxCount) wchar_t const* _String1,
318 _In_ size_t _MaxCount
319 );
320
322 _In_reads_or_z_(_MaxCount) wchar_t const* _String1,
324 _In_ size_t _MaxCount,
326 );
327
330 _In_ size_t _SizeInWords,
331 _In_ wchar_t _Value,
332 _In_ size_t _MaxCount
333 );
334
337 _Prepost_z_ wchar_t, _Destination,
338 _In_ wchar_t, _Value,
339 _In_ size_t, _MaxCount
340 )
341
344 _Inout_updates_z_(_Size) wchar_t,
346 _In_ wchar_t, _Value,
347 _In_ size_t, _MaxCount
348 )
349
351 _Inout_z_ wchar_t* _String
352 );
353
356 _In_ size_t _SizeInWords,
357 _In_ wchar_t _Value
358 );
359
362 _Prepost_z_ wchar_t, _String,
363 _In_ wchar_t, _Value
364 )
365
368 _Inout_updates_z_(_Size) wchar_t,
370 _In_ wchar_t, _Value
371 )
372
375 _In_ size_t _SizeInWords
376 );
377
380 _Prepost_z_ wchar_t, _String
381 )
382
385 _Inout_z_, wchar_t, _String
386 )
387
391 _In_ size_t _SizeInWords,
393 );
394
397 _Prepost_z_ wchar_t, _String,
399 )
400
403 _Inout_updates_z_(_Size) wchar_t,
404 _Inout_z_, wchar_t, _String,
406 )
407
411 _In_ size_t _Size
412 );
413
416 _Prepost_z_ wchar_t, _String
417 )
418
421 _Inout_z_, wchar_t, _String
422 )
423
427 _In_ size_t _Size,
429 );
430
433 _Prepost_z_ wchar_t, _String,
435 )
436
439 _Inout_updates_z_(_Size) wchar_t,
440 _Inout_z_, wchar_t, _String,
442 )
443
448 _In_z_ wchar_t const* _Source,
450 );
451
456 _In_z_ wchar_t const* _Source,
459 );
460
463 _In_z_ wchar_t const* _String1,
464 _In_z_ wchar_t const* _String2
465 );
466
469 _In_z_ wchar_t const* _String1,
470 _In_z_ wchar_t const* _String2,
472 );
473
476 _In_z_ wchar_t const* _String1,
477 _In_z_ wchar_t const* _String2
478 );
479
482 _In_z_ wchar_t const* _String1,
483 _In_z_ wchar_t const* _String2,
485 );
486
489 _In_reads_or_z_(_MaxCount) wchar_t const* _String1,
491 _In_ size_t _MaxCount
492 );
493
496 _In_reads_or_z_(_MaxCount) wchar_t const* _String1,
498 _In_ size_t _MaxCount,
500 );
501
504 _In_reads_or_z_(_MaxCount) wchar_t const* _String1,
506 _In_ size_t _MaxCount
507 );
508
511 _In_reads_or_z_(_MaxCount) wchar_t const* _String1,
513 _In_ size_t _MaxCount,
515 );
516
517
518
519//-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
520//
521// Inline C++ Overloads
522//
523//-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
524#ifdef __cplusplus
525extern "C++" {
526
528 _When_(return != NULL, _Ret_range_(_String, _String+_String_length_(_String)-1))
529 inline wchar_t* __CRTDECL wcschr(_In_z_ wchar_t* _String, wchar_t _C)
530 {
531 return const_cast<wchar_t*>(wcschr(static_cast<wchar_t const*>(_String), _C));
532 }
533
535 inline wchar_t* __CRTDECL wcspbrk(_In_z_ wchar_t* _String, _In_z_ wchar_t const* _Control)
536 {
537 return const_cast<wchar_t*>(wcspbrk(static_cast<wchar_t const*>(_String), _Control));
538 }
539
541 inline wchar_t* __CRTDECL wcsrchr(_In_z_ wchar_t* _String, _In_ wchar_t _C)
542 {
543 return const_cast<wchar_t*>(wcsrchr(static_cast<wchar_t const*>(_String), _C));
544 }
545
547 _When_(return != NULL, _Ret_range_(_String, _String+_String_length_(_String)-1))
548 inline wchar_t* __CRTDECL wcsstr(_In_z_ wchar_t* _String, _In_z_ wchar_t const*_SubStr)
549 {
550 return const_cast<wchar_t*>(wcsstr(static_cast<wchar_t const*>(_String), _SubStr));
551 }
552
553}
554#endif // __cplusplus
555
556
557
558//-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
559//
560// Non-Standard Names
561//
562//-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
563#if defined(_CRT_INTERNAL_NONSTDC_NAMES) && _CRT_INTERNAL_NONSTDC_NAMES
564 #if defined _DEBUG && defined _CRTDBG_MAP_ALLOC
565 #pragma push_macro("wcsdup")
566 #undef wcsdup
567 #endif
568
570 _ACRTIMP wchar_t* __cdecl wcsdup(
571 _In_z_ wchar_t const* _String
572 );
573
574 #if defined _DEBUG && defined _CRTDBG_MAP_ALLOC
575 #pragma pop_macro("wcsdup")
576 #endif
577
578 // Declarations of functions defined in oldnames.lib:
579 #define wcswcs wcsstr
580
583 _In_z_ wchar_t const* _String1,
584 _In_z_ wchar_t const* _String2
585 );
586
589 _In_reads_or_z_(_MaxCount) wchar_t const* _String1,
590 _In_reads_or_z_(_MaxCount) wchar_t const* _String2,
591 _In_ size_t _MaxCount
592 );
593
595 _Ret_z_
596 _ACRTIMP wchar_t* __cdecl wcsnset(
598 _In_ wchar_t _Value,
599 _In_ size_t _MaxCount
600 );
601
603 _Ret_z_
604 _ACRTIMP wchar_t* __cdecl wcsrev(
605 _Inout_z_ wchar_t* _String
606 );
607
609 _Ret_z_
610 _ACRTIMP wchar_t* __cdecl wcsset(
611 _Inout_z_ wchar_t* _String,
612 _In_ wchar_t _Value
613 );
614
616 _Ret_z_
617 _ACRTIMP wchar_t* __cdecl wcslwr(
618 _Inout_z_ wchar_t* _String
619 );
620
622 _Ret_z_
623 _ACRTIMP wchar_t* __cdecl wcsupr(
624 _Inout_z_ wchar_t* _String
625 );
626
629 _In_z_ wchar_t const* _String1,
630 _In_z_ wchar_t const* _String2
631 );
632
633#endif // _CRT_INTERNAL_NONSTDC_NAMES
634
635
636
638
639#endif // !__midl
641#pragma warning(pop) // _UCRT_DISABLED_WARNINGS
#define __inline
Definition: _wctype.cpp:15
#define __cdecl
Definition: accygwin.h:79
return
Definition: dirsup.c:529
_In_ _Count _Check_return_ _ACRTIMP int __cdecl wcsncmp(_In_reads_or_z_(_MaxCount) wchar_t const *_String1, _In_reads_or_z_(_MaxCount) wchar_t const *_String2, _In_ size_t _MaxCount)
_UCRT_DISABLE_CLANG_WARNINGS _CRT_BEGIN_C_HEADER _Check_return_ _ACRTIMP _CRTALLOCATOR wchar_t *__cdecl _wcsdup(_In_z_ wchar_t const *_String)
_wcslwr
_wcsnset_s
_Check_return_ _In_ size_t _MaxCount
wcsncat
_In_z_ wchar_t const * _String2
_wcsupr_s_l
_Check_return_ _ACRTIMP int __cdecl _wcsicoll_l(_In_z_ wchar_t const *_String1, _In_z_ wchar_t const *_String2, _In_opt_ _locale_t _Locale)
Definition: stubs.c:747
_wcsset
wcsncpy
_Source
_Check_return_ _ACRTIMP int __cdecl _wcsncoll(_In_reads_or_z_(_MaxCount) wchar_t const *_String1, _In_reads_or_z_(_MaxCount) wchar_t const *_String2, _In_ size_t _MaxCount)
_In_ _In_ _MaxCount _ACRTIMP wchar_t *__cdecl _wcsrev(_Inout_z_ wchar_t *_String)
_In_opt_ _Locale _Check_return_wat_ _ACRTIMP errno_t __cdecl _wcsupr_s(_Inout_updates_z_(_Size) wchar_t *_String, _In_ size_t _Size)
_In_ _Value _Check_return_wat_ _ACRTIMP errno_t __cdecl _wcslwr_s(_Inout_updates_z_(_SizeInWords) wchar_t *_String, _In_ size_t _SizeInWords)
_Check_return_ _ACRTIMP size_t __cdecl wcsspn(_In_z_ wchar_t const *_String, _In_z_ wchar_t const *_Control)
_wcslwr_l
_Pre_notnull_ _Post_maybez_ _In_ _Count _Check_return_ _ACRTIMP wchar_t _CONST_RETURN *__cdecl wcspbrk(_In_z_ wchar_t const *_String, _In_z_ wchar_t const *_Control)
_In_z_ wchar_t const _In_ _In_opt_ _locale_t _Locale
_Check_return_ _ACRTIMP int __cdecl _wcsncoll_l(_In_reads_or_z_(_MaxCount) wchar_t const *_String1, _In_reads_or_z_(_MaxCount) wchar_t const *_String2, _In_ size_t _MaxCount, _In_opt_ _locale_t _Locale)
_Check_return_ _In_z_ wchar_t const _Inout_opt_ _Deref_prepost_opt_z_ wchar_t ** _Context
_Destination
_Check_return_ _ACRTIMP int __cdecl _wcsnicmp_l(_In_reads_or_z_(_MaxCount) wchar_t const *_String1, _In_reads_or_z_(_MaxCount) wchar_t const *_String2, _In_ size_t _MaxCount, _In_opt_ _locale_t _Locale)
Definition: stubs.c:829
_Check_return_ _ACRTIMP int __cdecl _wcsicoll(_In_z_ wchar_t const *_String1, _In_z_ wchar_t const *_String2)
_Check_return_ _ACRTIMP int __cdecl wcscoll(_In_z_ wchar_t const *_String1, _In_z_ wchar_t const *_String2)
wcscat
#define _WCSTOK_DEPRECATED
_In_z_ wchar_t const _Source _Check_return_ _ACRTIMP size_t __cdecl wcscspn(_In_z_ wchar_t const *_String, _In_z_ wchar_t const *_Control)
_In_z_ wchar_t const _Source _Check_return_ _ACRTIMP int __cdecl wcscmp(_In_z_ wchar_t const *_String1, _In_z_ wchar_t const *_String2)
_Check_return_ _ACRTIMP int __cdecl _wcscoll_l(_In_z_ wchar_t const *_String1, _In_z_ wchar_t const *_String2, _In_opt_ _locale_t _Locale)
Definition: stubs.c:721
_wcsupr
_wcsupr_l
_Check_return_ _ACRTIMP int __cdecl _wcsnicmp(_In_reads_or_z_(_MaxCount) wchar_t const *_String1, _In_reads_or_z_(_MaxCount) wchar_t const *_String2, _In_ size_t _MaxCount)
wcsncpy_s
_Check_return_ _ACRTIMP size_t __cdecl wcslen(_In_z_ wchar_t const *_String)
_Check_return_ _In_z_ wchar_t const * _Delimiter
_wcsnset
_Check_return_ _ACRTIMP int __cdecl _wcsnicoll_l(_In_reads_or_z_(_MaxCount) wchar_t const *_String1, _In_reads_or_z_(_MaxCount) wchar_t const *_String2, _In_ size_t _MaxCount, _In_opt_ _locale_t _Locale)
__RETURN_POLICY_DST
_Check_return_ _ACRTIMP int __cdecl _wcsnicoll(_In_reads_or_z_(_MaxCount) wchar_t const *_String1, _In_reads_or_z_(_MaxCount) wchar_t const *_String2, _In_ size_t _MaxCount)
_String
_ACRTIMP
_In_opt_ _Locale _Success_(return< _MaxCount) _Check_return_opt_ _ACRTIMP size_t __cdecl wcsxfrm(_Out_writes_opt_(_MaxCount) _Post_maybez_ wchar_t *_Destination
_Inout_z_
wcsncat_s
_Check_return_wat_ _ACRTIMP errno_t __cdecl _wcserror_s(_Out_writes_opt_z_(_SizeInWords) wchar_t *_Buffer, _In_ size_t _SizeInWords, _In_ int _ErrorNumber)
_Check_return_wat_ _ACRTIMP_ALT errno_t __cdecl __wcserror_s(_Out_writes_opt_z_(_SizeInWords) wchar_t *_Buffer, _In_ size_t _SizeInWords, _In_z_ wchar_t const *_ErrorMessage)
_In_ _Value
_wcsset_s
wcscpy
_Check_return_ _ACRTIMP int __cdecl _wcsicmp_l(_In_z_ wchar_t const *_String1, _In_z_ wchar_t const *_String2, _In_opt_ _locale_t _Locale)
Definition: stubs.c:734
_wcslwr_s_l
#define __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_1(_ReturnType, _FuncName, _DstType, _Dst, _TType1, _TArg1)
Definition: corecrt.h:177
#define __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_2(_ReturnType, _FuncName, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2)
Definition: corecrt.h:178
#define __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_0(_ReturnType, _FuncName, _DstType, _Dst)
Definition: corecrt.h:176
_Check_return_ _Ret_maybenull_ _In_ size_t _In_ size_t _Size
Definition: malloc.h:109
_Check_return_ _Ret_maybenull_ _In_ size_t _Count
Definition: malloc.h:108
#define NULL
Definition: types.h:112
#define wcschr
Definition: compat.h:17
#define wcsnicmp
Definition: compat.h:14
#define wcsrchr
Definition: compat.h:16
#define wcsicmp
Definition: compat.h:15
_Check_return_opt_ _CRTIMP size_t __cdecl _wcsxfrm_l(_Out_writes_opt_(maxcount) _Post_maybez_ wchar_t *dst, _In_z_ const wchar_t *src, _In_ size_t maxcount, _In_opt_ _locale_t locale)
Definition: stubs.c:646
size_t rsize_t
Definition: stubs.c:780
_CONST_RETURN wchar_t *__cdecl wcsstr(_In_z_ const wchar_t *_Str, _In_z_ const wchar_t *_SubStr)
_In_ _Pre_notnull_ _Buffer
Definition: stdlib.h:644
#define wcscpy_s(d, l, s)
Definition: utility.h:201
#define _Deref_prepost_opt_z_
Definition: ms_sal.h:1424
#define _Post_maybez_
Definition: ms_sal.h:1372
#define _Prepost_z_
Definition: no_sal2.h:510
#define _Out_writes_z_(s)
Definition: no_sal2.h:180
#define _Inout_
Definition: no_sal2.h:162
#define _Ret_maybenull_
Definition: no_sal2.h:328
#define _Out_writes_opt_(s)
Definition: no_sal2.h:226
#define _In_z_
Definition: no_sal2.h:164
#define _Check_return_
Definition: no_sal2.h:60
#define _In_opt_z_
Definition: no_sal2.h:218
#define _Ret_range_(l, h)
Definition: no_sal2.h:372
#define _Inout_updates_z_(s)
Definition: no_sal2.h:186
#define _Pre_notnull_
Definition: no_sal2.h:516
#define _In_reads_or_z_(s)
Definition: no_sal2.h:174
#define _Out_writes_opt_z_(s)
Definition: no_sal2.h:230
#define _Inout_opt_
Definition: no_sal2.h:216
#define _Out_writes_(s)
Definition: no_sal2.h:176
#define _Post_satisfies_(e)
Definition: no_sal2.h:66
#define _In_
Definition: no_sal2.h:158
#define _In_opt_
Definition: no_sal2.h:212
#define _Inout_opt_z_
Definition: no_sal2.h:220
#define _In_range_(l, h)
Definition: no_sal2.h:368
#define _Ret_z_
Definition: no_sal2.h:306
#define _When_(c, a)
Definition: no_sal2.h:38
#define _CONST_RETURN
Definition: memory.h:16
_CRTIMP wchar_t *__cdecl wcsrev(_Inout_z_ wchar_t *_Str)
_Check_return_ _CRTIMP int __cdecl _wcsicmp(_In_z_ const wchar_t *_Str1, _In_z_ const wchar_t *_Str2)
_CRTIMP wchar_t *__cdecl wcsnset(_Inout_updates_z_(_MaxCount) wchar_t *_Str, _In_ wchar_t _Val, _In_ size_t _MaxCount)
_Check_return_ _CRTIMP wchar_t *__cdecl __wcserror(_In_opt_z_ const wchar_t *_Str)
_Check_return_ _CRTIMP wchar_t *__cdecl _wcserror(_In_ int _ErrNum)
_CRT_RESTORE_GCC_WARNINGS _Check_return_ _CRTIMP wchar_t *__cdecl wcstok(_Inout_opt_z_ wchar_t *_Str, _In_z_ const wchar_t *_Delim)
_CRTIMP wchar_t *__cdecl wcslwr(_Inout_z_ wchar_t *_Str)
_CRTIMP wchar_t *__cdecl wcsupr(_Inout_z_ wchar_t *_Str)
_CRTIMP wchar_t *__cdecl wcsset(_Inout_z_ wchar_t *_Str, wchar_t _Val)
_CRT_DISABLE_GCC_WARNINGS _In_z_ const wchar_t * _SubStr
Definition: string.h:831
_Check_return_opt_ _CRTIMP size_t __cdecl wcsxfrm(_Out_writes_opt_(_MaxCount) _Post_maybez_ wchar_t *_Dst, _In_z_ const wchar_t *_Src, _In_ size_t _MaxCount)
_Check_return_ _CRTIMP int __cdecl wcsicoll(_In_z_ const wchar_t *_Str1, _In_z_ const wchar_t *_Str2)
_Check_return_ _CRTIMP wchar_t *__cdecl wcsdup(_In_z_ const wchar_t *_Str)
_In_ size_t _SizeInWords
Definition: time.h:309
size_t __cdecl wcsnlen(wchar_t const *const string, size_t const maximum_count)
Definition: strnlen.cpp:210
#define __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_1(_ReturnType, _ReturnPolicy, _DeclSpec, _FuncName, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1)
Definition: corecrt.h:845
#define __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_1_EX(_ReturnType, _ReturnPolicy, _DeclSpec, _FuncName, _SecureFuncName, _SecureDstType, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1)
Definition: corecrt.h:1904
#define _Check_return_opt_
Definition: corecrt.h:224
#define _CRT_INT_MAX
Definition: corecrt.h:279
#define __DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_0_2_EX(_ReturnType, _ReturnPolicy, _DeclSpec, _FuncName, _SecureFuncName, _SecureDstType, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2)
Definition: corecrt.h:1945
#define _CRT_NONSTDC_DEPRECATE(_NewName)
Definition: corecrt.h:439
#define __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_0(_ReturnType, _ReturnPolicy, _DeclSpec, _FuncName, _SalAttributeDst, _DstType, _Dst)
Definition: corecrt.h:842
#define _CRTALLOCATOR
Definition: corecrt.h:167
#define _UCRT_DISABLE_CLANG_WARNINGS
Definition: corecrt.h:109
#define _UCRT_RESTORE_CLANG_WARNINGS
Definition: corecrt.h:117
#define _ACRTIMP_ALT
Definition: corecrt.h:145
#define _Check_return_wat_
Definition: corecrt.h:230
int errno_t
Definition: corecrt.h:615
#define _CRT_END_C_HEADER
Definition: vcruntime.h:42
#define _CRT_BEGIN_C_HEADER
Definition: vcruntime.h:40
#define _CRT_INSECURE_DEPRECATE(_Replacement)
Definition: vcruntime.h:99
INT CDECL wcscat_s(wchar_t *dst, size_t elem, const wchar_t *src)
Definition: wcs.c:406
wchar_t *CDECL wcstok_s(wchar_t *str, const wchar_t *delim, wchar_t **next_token)
Definition: wcstok.c:8
#define __CRTDECL
Definition: yvals.h:17
#define const
Definition: zconf.h:233