STLdoc
STLdocumentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
string.h
Go to the documentation of this file.
1 //
2 // string.h
3 //
4 // Copyright (c) Microsoft Corporation. All rights reserved.
5 //
6 // The C Standard Library <string.h> header.
7 //
8 #pragma once
9 #define _INC_STRING
10 
11 #include <corecrt.h>
12 #include <corecrt_memory.h>
13 #include <corecrt_wstring.h>
14 #include <vcruntime_string.h>
15 
16 #ifndef __midl
17 
19 
20 
21 
22 #define _NLSCMPERROR _CRT_INT_MAX // currently == INT_MAX
23 
24 #if __STDC_WANT_SECURE_LIB__
25 
27  _ACRTIMP errno_t __cdecl strcpy_s(
30  _In_z_ char const* _Source
31  );
32 
34  _ACRTIMP errno_t __cdecl strcat_s(
37  _In_z_ char const* _Source
38  );
39 
41  _ACRTIMP errno_t __cdecl strerror_s(
43  _In_ size_t _SizeInBytes,
44  _In_ int _ErrorNumber);
45 
47  _ACRTIMP errno_t __cdecl strncat_s(
50  _In_reads_or_z_(_MaxCount) char const* _Source,
52  );
53 
55  _ACRTIMP errno_t __cdecl strncpy_s(
56  _Out_writes_z_(_SizeInBytes) char* _Destination,
57  _In_ rsize_t _SizeInBytes,
58  _In_reads_or_z_(_MaxCount) char const* _Source,
60  );
61 
63  _ACRTIMP char* __cdecl strtok_s(
64  _Inout_opt_z_ char* _String,
65  _In_z_ char const* _Delimiter,
67  );
68 
69 #endif // __STDC_WANT_SECURE_LIB__
70 
71 _ACRTIMP void* __cdecl _memccpy(
73  _In_ void const* _Src,
74  _In_ int _Val,
75  _In_ size_t _MaxCount
76  );
77 
80  char, _Destination,
81  _In_z_ char const*, _Source
82  )
83 
84 #ifndef RC_INVOKED
85 
86 #pragma warning(push)
87 #pragma warning(disable: 28719) // __WARNING_BANNED_API_USAGE
88 #pragma warning(disable: 28726) // __WARNING_BANNED_API_USAGEL2
91  _Inout_updates_z_(_String_length_(_Destination) + _String_length_(_Source) + 1), char, _Destination,
92  _In_z_ char const*, _Source
93  )
94 #pragma warning(pop)
95 
96 #endif // RC_INVOKED
97 
99 int __cdecl strcmp(
100  _In_z_ char const* _Str1,
101  _In_z_ char const* _Str2
102  );
103 
105 _ACRTIMP int __cdecl _strcmpi(
106  _In_z_ char const* _String1,
107  _In_z_ char const* _String2
108  );
109 
111 _ACRTIMP int __cdecl strcoll(
112  _In_z_ char const* _String1,
113  _In_z_ char const* _String2
114  );
115 
117 _ACRTIMP int __cdecl _strcoll_l(
118  _In_z_ char const* _String1,
119  _In_z_ char const* _String2,
121  );
122 
124  errno_t, strcpy_s,
125  _Post_z_ char, _Destination,
126  _In_z_ char const*, _Source
127  )
128 
129 #pragma warning(push)
130 #pragma warning(disable: 28719) // __WARNING_BANNED_API_USAGE
131 #pragma warning(disable: 28726) // __WARNING_BANNED_API_USAGEL2
134  _Out_writes_z_(_String_length_(_Source) + 1), char, _Destination,
135  _In_z_ char const*, _Source
136  )
137 #pragma warning(pop)
138 
140 _ACRTIMP size_t __cdecl strcspn(
141  _In_z_ char const* _Str,
142  _In_z_ char const* _Control
143  );
144 
145 #if defined _DEBUG && defined _CRTDBG_MAP_ALLOC
146  #pragma push_macro("_strdup")
147  #undef _strdup
148 #endif
149 
151 _ACRTIMP _CRTALLOCATOR char* __cdecl _strdup(
152  _In_opt_z_ char const* _Source
153  );
154 
155 #if defined _DEBUG && defined _CRTDBG_MAP_ALLOC
156  #pragma pop_macro("_strdup")
157 #endif
158 
159 _Ret_z_
160 _Success_(return != 0)
162 _ACRTIMP char* __cdecl _strerror(
163  _In_opt_z_ char const* _ErrorMessage
164  );
165 
168  _Out_writes_z_(_SizeInBytes) char* _Buffer,
169  _In_ size_t _SizeInBytes,
170  _In_opt_z_ char const* _ErrorMessage
171  );
172 
175  char, _Buffer,
176  _In_opt_z_ char const*, _ErrorMessage
177  )
178 
179 _Ret_z_
181 _ACRTIMP char* __cdecl strerror(
182  _In_ int _ErrorMessage
183  );
184 
186  errno_t, strerror_s,
187  char, _Buffer,
188  _In_ int, _ErrorMessage
189  )
190 
192 _ACRTIMP int __cdecl _stricmp(
193  _In_z_ char const* _String1,
194  _In_z_ char const* _String2
195  );
196 
198 _ACRTIMP int __cdecl _stricoll(
199  _In_z_ char const* _String1,
200  _In_z_ char const* _String2
201  );
202 
204 _ACRTIMP int __cdecl _stricoll_l(
205  _In_z_ char const* _String1,
206  _In_z_ char const* _String2,
208  );
209 
211 _ACRTIMP int __cdecl _stricmp_l(
212  _In_z_ char const* _String1,
213  _In_z_ char const* _String2,
214  _In_opt_ _locale_t _Locale
215  );
216 
218 size_t __cdecl strlen(
219  _In_z_ char const* _Str
220  );
221 
223 _ACRTIMP errno_t __cdecl _strlwr_s(
225  _In_ size_t _Size
226  );
227 
229  errno_t, _strlwr_s,
230  _Prepost_z_ char, _String
231  )
232 
235  _Inout_z_, char, _String
236  )
237 
239 _ACRTIMP errno_t __cdecl _strlwr_s_l(
240  _Inout_updates_z_(_Size) char* _String,
241  _In_ size_t _Size,
242  _In_opt_ _locale_t _Locale
243  );
244 
246  errno_t, _strlwr_s_l,
247  _Prepost_z_ char, _String,
248  _In_opt_ _locale_t, _Locale
249  )
250 
252  char*, __RETURN_POLICY_DST, _ACRTIMP, _strlwr_l, _strlwr_s_l,
253  _Inout_updates_z_(_Size) char,
254  _Inout_z_, char, _String,
255  _In_opt_ _locale_t, _Locale
256  )
257 
259  errno_t, strncat_s,
260  _Prepost_z_ char, _Destination,
261  _In_reads_or_z_(_Count) char const*, _Source,
262  _In_ size_t, _Count
263  )
264 
266  char*, __RETURN_POLICY_DST, _ACRTIMP, strncat, strncat_s,
267  _Inout_updates_z_(_Size) char,
268  _Inout_updates_z_(_Count), char, _Destination,
269  _In_reads_or_z_(_Count) char const*, _Source,
270  _In_ size_t, _Count
271  )
272 
274 _ACRTIMP int __cdecl strncmp(
275  _In_reads_or_z_(_MaxCount) char const* _Str1,
276  _In_reads_or_z_(_MaxCount) char const* _Str2,
277  _In_ size_t _MaxCount
278  );
279 
281 _ACRTIMP int __cdecl _strnicmp(
282  _In_reads_or_z_(_MaxCount) char const* _String1,
283  _In_reads_or_z_(_MaxCount) char const* _String2,
284  _In_ size_t _MaxCount
285  );
286 
288 _ACRTIMP int __cdecl _strnicmp_l(
289  _In_reads_or_z_(_MaxCount) char const* _String1,
290  _In_reads_or_z_(_MaxCount) char const* _String2,
291  _In_ size_t _MaxCount,
292  _In_opt_ _locale_t _Locale
293  );
294 
296 _ACRTIMP int __cdecl _strnicoll(
297  _In_reads_or_z_(_MaxCount) char const* _String1,
298  _In_reads_or_z_(_MaxCount) char const* _String2,
299  _In_ size_t _MaxCount
300  );
301 
303 _ACRTIMP int __cdecl _strnicoll_l(
304  _In_reads_or_z_(_MaxCount) char const* _String1,
305  _In_reads_or_z_(_MaxCount) char const* _String2,
306  _In_ size_t _MaxCount,
307  _In_opt_ _locale_t _Locale
308  );
309 
311 _ACRTIMP int __cdecl _strncoll(
312  _In_reads_or_z_(_MaxCount) char const* _String1,
313  _In_reads_or_z_(_MaxCount) char const* _String2,
314  _In_ size_t _MaxCount
315  );
316 
318 _ACRTIMP int __cdecl _strncoll_l(
319  _In_reads_or_z_(_MaxCount) char const* _String1,
320  _In_reads_or_z_(_MaxCount) char const* _String2,
321  _In_ size_t _MaxCount,
322  _In_opt_ _locale_t _Locale
323  );
324 
325 _ACRTIMP size_t __cdecl __strncnt(
326  _In_reads_or_z_(_Count) char const* _String,
327  _In_ size_t _Count
328  );
329 
331  errno_t, strncpy_s,
332  char, _Destination,
333  _In_reads_or_z_(_Count) char const*, _Source,
334  _In_ size_t, _Count
335  )
336 
338  char*, __RETURN_POLICY_DST, _ACRTIMP, strncpy, strncpy_s,
339  _Out_writes_z_(_Size) char,
340  _Out_writes_(_Count) _Post_maybez_, char, _Destination,
341  _In_reads_or_z_(_Count) char const*, _Source,
342  _In_ size_t, _Count
343  )
344 
346 _When_(
347  _MaxCount > _String_length_(_String),
348  _Post_satisfies_(return == _String_length_(_String))
349 )
350 _When_(
351  _MaxCount <= _String_length_(_String),
352  _Post_satisfies_(return == _MaxCount)
353 )
354 _ACRTIMP size_t __cdecl strnlen(
355  _In_reads_or_z_(_MaxCount) char const* _String,
356  _In_ size_t _MaxCount
357  );
358 
359 #if __STDC_WANT_SECURE_LIB__ && !defined __midl
360 
362  _When_(
363  _MaxCount > _String_length_(_String),
364  _Post_satisfies_(return == _String_length_(_String))
365  )
366  _When_(
367  _MaxCount <= _String_length_(_String),
368  _Post_satisfies_(return == _MaxCount)
369  )
370  static __inline size_t __CRTDECL strnlen_s(
371  _In_reads_or_z_(_MaxCount) char const* _String,
372  _In_ size_t _MaxCount
373  )
374  {
375  return _String == 0 ? 0 : strnlen(_String, _MaxCount);
376  }
377 
378 #endif
379 
381 _ACRTIMP errno_t __cdecl _strnset_s(
382  _Inout_updates_z_(_SizeInBytes) char* _String,
383  _In_ size_t _SizeInBytes,
384  _In_ int _Value,
385  _In_ size_t _MaxCount
386  );
387 
389  errno_t, _strnset_s,
390  _Prepost_z_ char, _Destination,
391  _In_ int, _Value,
392  _In_ size_t, _Count
393  )
394 
397  _Inout_updates_z_(_Size) char,
398  _Inout_updates_z_(_Count), char, _Destination,
399  _In_ int, _Value,
400  _In_ size_t, _Count
401  )
402 
404 _ACRTIMP char _CONST_RETURN* __cdecl strpbrk(
405  _In_z_ char const* _Str,
406  _In_z_ char const* _Control
407  );
408 
409 _ACRTIMP char* __cdecl _strrev(
410  _Inout_z_ char* _Str
411  );
412 
414 _ACRTIMP errno_t __cdecl _strset_s(
415  _Inout_updates_z_(_DestinationSize) char* _Destination,
416  _In_ size_t _DestinationSize,
417  _In_ int _Value
418  );
419 
421  errno_t, _strset_s,
422  _Prepost_z_ char, _Destination,
423  _In_ int, _Value
424  )
425 
428  _Inout_z_, char, _Destination,
429  _In_ int, _Value
430  )
431 
433 _ACRTIMP size_t __cdecl strspn(
434  _In_z_ char const* _Str,
435  _In_z_ char const* _Control
436  );
437 
439 _ACRTIMP char* __cdecl strtok(
440  _Inout_opt_z_ char* _String,
441  _In_z_ char const* _Delimiter
442  );
443 
445 _ACRTIMP errno_t __cdecl _strupr_s(
446  _Inout_updates_z_(_Size) char* _String,
447  _In_ size_t _Size
448  );
449 
451  errno_t, _strupr_s,
452  _Prepost_z_ char, _String
453  )
454 
457  _Inout_z_, char, _String
458  )
459 
461 _ACRTIMP errno_t __cdecl _strupr_s_l(
462  _Inout_updates_z_(_Size) char* _String,
463  _In_ size_t _Size,
464  _In_opt_ _locale_t _Locale
465  );
466 
468  errno_t, _strupr_s_l,
469  _Prepost_z_ char, _String,
470  _In_opt_ _locale_t, _Locale
471  )
472 
474  char*, __RETURN_POLICY_DST, _ACRTIMP, _strupr_l, _strupr_s_l,
475  _Inout_updates_z_(_Size) char,
476  _Inout_z_, char, _String,
477  _In_opt_ _locale_t, _Locale
478  )
479 
480 _Success_(return < _MaxCount)
482 _ACRTIMP size_t __cdecl strxfrm(
483  _Out_writes_opt_(_MaxCount) _Post_maybez_ char* _Destination,
484  _In_z_ char const* _Source,
485  _In_ _In_range_(<=,_CRT_INT_MAX) size_t _MaxCount
486  );
487 
488 _Success_(return < _MaxCount)
490 _ACRTIMP size_t __cdecl _strxfrm_l(
491  _Out_writes_opt_(_MaxCount) _Post_maybez_ char* _Destination,
492  _In_z_ char const* _Source,
493  _In_ _In_range_(<=,_CRT_INT_MAX) size_t _MaxCount,
494  _In_opt_ _locale_t _Locale
495  );
496 
497 
498 
499 #ifdef __cplusplus
500 extern "C++"
501 {
503  inline char* __CRTDECL strchr(_In_z_ char* const _String, _In_ int const _Ch)
504  {
505  return const_cast<char*>(strchr(static_cast<char const*>(_String), _Ch));
506  }
507 
509  inline char* __CRTDECL strpbrk(_In_z_ char* const _String, _In_z_ char const* const _Control)
510  {
511  return const_cast<char*>(strpbrk(static_cast<char const*>(_String), _Control));
512  }
513 
515  inline char* __CRTDECL strrchr(_In_z_ char* const _String, _In_ int const _Ch)
516  {
517  return const_cast<char*>(strrchr(static_cast<char const*>(_String), _Ch));
518  }
519 
521  inline char* __CRTDECL strstr(_In_z_ char* const _String, _In_z_ char const* const _SubString)
522  {
523  return const_cast<char*>(strstr(static_cast<char const*>(_String), _SubString));
524  }
525 }
526 #endif // __cplusplus
527 
528 
529 
530 #if _CRT_INTERNAL_NONSTDC_NAMES
531 
532  #if defined _DEBUG && defined _CRTDBG_MAP_ALLOC
533  #pragma push_macro("strdup")
534  #undef strdup
535  #endif
536 
538  _ACRTIMP char* __cdecl strdup(
539  _In_opt_z_ char const* _String
540  );
541 
542  #if defined _DEBUG && defined _CRTDBG_MAP_ALLOC
543  #pragma pop_macro("strdup")
544  #endif
545 
546  // Declarations of functions defined in oldnames.lib:
548  _ACRTIMP int __cdecl strcmpi(
549  _In_z_ char const* _String1,
550  _In_z_ char const* _String2
551  );
552 
554  _ACRTIMP int __cdecl stricmp(
555  _In_z_ char const* _String1,
556  _In_z_ char const* _String2
557  );
558 
560  _ACRTIMP char* __cdecl strlwr(
561  _Inout_z_ char* _String
562  );
563 
565  _ACRTIMP int __cdecl strnicmp(
566  _In_reads_or_z_(_MaxCount) char const* _String1,
567  _In_reads_or_z_(_MaxCount) char const* _String2,
568  _In_ size_t _MaxCount
569  );
570 
572  _ACRTIMP char* __cdecl strnset(
573  _Inout_updates_z_(_MaxCount) char* _String,
574  _In_ int _Value,
575  _In_ size_t _MaxCount
576  );
577 
579  _ACRTIMP char* __cdecl strrev(
580  _Inout_z_ char* _String
581  );
582 
584  char* __cdecl strset(
585  _Inout_z_ char* _String,
586  _In_ int _Value);
587 
589  _ACRTIMP char* __cdecl strupr(
590  _Inout_z_ char* _String
591  );
592 
593 #endif // _CRT_INTERNAL_NONSTDC_NAMES
594 
595 
596 
598 
599 #endif // !__midl
_strlwr_l
Definition: string.h:252
return
Definition: corecrt_memcpy_s.h:60
Definition: corecrt.h:489
_In_z_ char const _In_ _In_opt_ _locale_t _Locale
Definition: string.h:495
#define __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_1_EX(_ReturnType, _ReturnPolicy, _DeclSpec, _FuncName, _SecureFuncName, _SecureDstType, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1)
Definition: corecrt.h:1795
#define __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_1(_ReturnType, _ReturnPolicy, _DeclSpec, _FuncName, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1)
Definition: corecrt.h:712
_In_opt_ _Locale __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_2(errno_t, strncat_s, _Prepost_z_ char, _Destination, _In_reads_or_z_(_Count) char const *, _Source, _In_ size_t, _Count) __DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_0_2_EX(char *
_strupr
Definition: string.h:456
_In_ _Value _Check_return_ _ACRTIMP size_t __cdecl strspn(_In_z_ char const *_Str, _In_z_ char const *_Control)
_Out_writes_opt_(_MaxCount)
char *__cdecl strset(_Inout_z_ char *_String, _In_ int _Value)
strncpy_s
Definition: string.h:338
#define _Check_return_opt_
Definition: corecrt.h:96
#define _Ret_z_
Definition: sal.h:521
#define _Ret_maybenull_
Definition: sal.h:526
_Check_return_ _ACRTIMP int __cdecl _strnicoll(_In_reads_or_z_(_MaxCount) char const *_String1, _In_reads_or_z_(_MaxCount) char const *_String2, _In_ size_t _MaxCount)
int errno_t
Definition: corecrt.h:476
#define _Check_return_wat_
Definition: corecrt.h:102
_In_opt_ _Locale _In_reads_or_z_(_Count) char const *
size_t rsize_t
Definition: corecrt.h:527
_In_opt_ _Locale strncat
Definition: string.h:266
_Inout_updates_z_(_String_length_(_Destination)+_String_length_(_Source)+1)
_Check_return_ _ACRTIMP int __cdecl _strcoll_l(_In_z_ char const *_String1, _In_z_ char const *_String2, _In_opt_ _locale_t _Locale)
__EMPTY_DECLSPEC
Definition: string.h:90
_Check_return_ size_t __cdecl strlen(_In_z_ char const *_Str)
_Check_return_wat_ _ACRTIMP errno_t __cdecl _strupr_s(_Inout_updates_z_(_Size) char *_String, _In_ size_t _Size)
_Out_writes_z_(_String_length_(_Source)+1)
_CRT_BEGIN_C_HEADER _Check_return_ _Ret_maybenull_ _In_ size_t _Size
Definition: corecrt_malloc.h:58
#define _CRT_BEGIN_C_HEADER
Definition: vcruntime.h:73
strcpy
Definition: string.h:133
_Check_return_ _CRT_NONSTDC_DEPRECATE(_strdup) _ACRTIMP char *__cdecl strdup(_In_opt_z_ char const *_String)
_Check_return_wat_ _ACRTIMP errno_t __cdecl _strset_s(_Inout_updates_z_(_DestinationSize) char *_Destination, _In_ size_t _DestinationSize, _In_ int _Value)
_ACRTIMP char *__cdecl strrev(_Inout_z_ char *_String)
_strupr_l
Definition: string.h:474
#define _Out_writes_bytes_opt_(size)
Definition: sal.h:348
_Out_writes_(_Count) _Post_maybez_
#define __CRTDECL
Definition: vcruntime.h:156
_In_z_ char const _Source _Check_return_ _ACRTIMP size_t __cdecl strcspn(_In_z_ char const *_Str, _In_z_ char const *_Control)
_In_z_ char const * _String2
Definition: string.h:195
_ACRTIMP size_t __cdecl __strncnt(_In_reads_or_z_(_Count) char const *_String, _In_ size_t _Count)
#define _Post_z_
Definition: sal.h:688
_In_ _Count _Check_return_ _In_ size_t _MaxCount
Definition: string.h:357
#define _In_opt_z_
Definition: sal.h:311
_In_z_ char const _Source _Check_return_ int __cdecl strcmp(_In_z_ char const *_Str1, _In_z_ char const *_Str2)
_SourceSize void *const _In_ rsize_t const _DestinationSize
Definition: corecrt_memcpy_s.h:36
__DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_0(errno_t, _strlwr_s, _Prepost_z_ char, _String) __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_0(char *
_strnset_s
Definition: string.h:396
#define _Check_return_
Definition: sal.h:554
_Check_return_ _Ret_maybenull_ _VCRTIMP char _CONST_RETURN *__cdecl strstr(_In_z_ char const *_Str, _In_z_ char const *_SubStr)
_Check_return_ _In_ wchar_t _Ch
Definition: vcruntime_string.h:89
_Check_return_ _ACRTIMP _CRTALLOCATOR char *__cdecl _strdup(_In_opt_z_ char const *_Source)
#define _In_z_
Definition: sal.h:310
#define _In_
Definition: sal.h:305
_In_opt_ _Locale _In_ _Count _Check_return_ _ACRTIMP int __cdecl strncmp(_In_reads_or_z_(_MaxCount) char const *_Str1, _In_reads_or_z_(_MaxCount) char const *_Str2, _In_ size_t _MaxCount)
_Check_return_ _ACRTIMP int __cdecl _strnicmp(_In_reads_or_z_(_MaxCount) char const *_String1, _In_reads_or_z_(_MaxCount) char const *_String2, _In_ size_t _MaxCount)
_Check_return_ _ACRTIMP int __cdecl _strnicmp_l(_In_reads_or_z_(_MaxCount) char const *_String1, _In_reads_or_z_(_MaxCount) char const *_String2, _In_ size_t _MaxCount, _In_opt_ _locale_t _Locale)
_Check_return_ _ACRTIMP int __cdecl _strncoll(_In_reads_or_z_(_MaxCount) char const *_String1, _In_reads_or_z_(_MaxCount) char const *_String2, _In_ size_t _MaxCount)
#define _CONST_RETURN
Definition: corecrt.h:79
#define _In_opt_
Definition: sal.h:306
_Check_return_ _ACRTIMP int __cdecl _strncoll_l(_In_reads_or_z_(_MaxCount) char const *_String1, _In_reads_or_z_(_MaxCount) char const *_String2, _In_ size_t _MaxCount, _In_opt_ _locale_t _Locale)
#define _Inout_opt_z_
Definition: sal.h:381
strncpy
Definition: string.h:338
_ACRTIMP char *__cdecl strnset(_Inout_updates_z_(_MaxCount) char *_String, _In_ int _Value, _In_ size_t _MaxCount)
__RETURN_POLICY_DST
Definition: string.h:90
_Check_return_wat_ *_SizeRead wchar_t * _Buffer
Definition: corecrt_wconio.h:27
#define _Deref_prepost_opt_z_
Definition: sal.h:1421
_In_ size_t _Out_opt_ int _In_z_ unsigned char const * _Src
Definition: mbstring.h:1039
__DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_1(errno_t, strcat_s, char, _Destination, _In_z_ char const *, _Source) __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_1(char *
_Check_return_wat_ _ACRTIMP errno_t __cdecl strerror_s(_Out_writes_z_(_SizeInBytes) char *_Buffer, _In_ size_t _SizeInBytes, _In_ int _ErrorNumber)
#define _CRTALLOCATOR
Definition: corecrt.h:56
_Check_return_ _CRT_INSECURE_DEPRECATE(strtok_s) _ACRTIMP char *__cdecl strtok(_Inout_opt_z_ char *_String
_ACRTIMP char *__cdecl strlwr(_Inout_z_ char *_String)
_Check_return_ _In_z_ char const * _Delimiter
Definition: string.h:442
_In_opt_ _Locale strncat_s
Definition: string.h:266
#define _CRT_INT_MAX
Definition: corecrt.h:144
_Check_return_ _VCRTIMP char _CONST_RETURN *__cdecl strrchr(_In_z_ char const *_Str, _In_ int _Ch)
#define _Prepost_z_
Definition: sal.h:705
_strlwr_s_l
Definition: string.h:252
_ACRTIMP char *__cdecl _strrev(_Inout_z_ char *_Str)
_Destination
Definition: string.h:91
#define _CRT_END_C_HEADER
Definition: vcruntime.h:76
_In_ _Count _Check_return_ _Post_satisfies_(return==_MaxCount)) _ACRTIMP size_t __cdecl strnlen(_In_reads_or_z_(_MaxCount) char const *_String
_Check_return_ _In_z_ wchar_t const _Inout_opt_ _Deref_prepost_opt_z_ wchar_t ** _Context
Definition: corecrt_wstring.h:228
_strnset
Definition: string.h:396
_strupr_s_l
Definition: string.h:474
_Check_return_wat_ _ACRTIMP errno_t __cdecl _strerror_s(_Out_writes_z_(_SizeInBytes) char *_Buffer, _In_ size_t _SizeInBytes, _In_opt_z_ char const *_ErrorMessage)
_Check_return_ _ACRTIMP int __cdecl _strnicoll_l(_In_reads_or_z_(_MaxCount) char const *_String1, _In_reads_or_z_(_MaxCount) char const *_String2, _In_ size_t _MaxCount, _In_opt_ _locale_t _Locale)
_String
Definition: string.h:254
_Check_return_wat_ _ACRTIMP errno_t __cdecl strcat_s(_Inout_updates_z_(_SizeInBytes) char *_Destination, _In_ rsize_t _SizeInBytes, _In_z_ char const *_Source)
_In_ _In_ _Count _Check_return_ _ACRTIMP char _CONST_RETURN *__cdecl strpbrk(_In_z_ char const *_Str, _In_z_ char const *_Control)
_ACRTIMP void *__cdecl _memccpy(_Out_writes_bytes_opt_(_MaxCount) void *_Dst, _In_ void const *_Src, _In_ int _Val, _In_ size_t _MaxCount)
_ACRTIMP char *__cdecl strupr(_Inout_z_ char *_String)
_Check_return_ _VCRTIMP char _CONST_RETURN *__cdecl strchr(_In_z_ char const *_Str, _In_ int _Val)
#define __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_0(_ReturnType, _ReturnPolicy, _DeclSpec, _FuncName, _SalAttributeDst, _DstType, _Dst)
Definition: corecrt.h:709
_Check_return_wat_ _ACRTIMP errno_t __cdecl strcpy_s(_Out_writes_z_(_SizeInBytes) char *_Destination, _In_ rsize_t _SizeInBytes, _In_z_ char const *_Source)
_Check_return_ _ACRTIMP int __cdecl _stricoll_l(_In_z_ char const *_String1, _In_z_ char const *_String2, _In_opt_ _locale_t _Locale)
_Check_return_ _ACRTIMP char *__cdecl strtok_s(_Inout_opt_z_ char *_String, _In_z_ char const *_Delimiter, _Inout_ _Deref_prepost_opt_z_ char **_Context)
_Check_return_wat_ _ACRTIMP errno_t __cdecl _strlwr_s(_Inout_updates_z_(_Size) char *_String, _In_ size_t _Size)
#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:1836
_In_opt_ _Locale _In_z_ char const _In_ _In_range_(<=, _CRT_INT_MAX) size_t _MaxCount)
_Diff _Count
Definition: algorithm:1941
_strlwr
Definition: string.h:234
#define _Inout_
Definition: sal.h:375
_In_ _Count _Check_return_ _When_(_MaxCount > _String_length_(_String), _Post_satisfies_(return==_String_length_(_String))) _When_(_MaxCount<
_Check_return_ _ACRTIMP int __cdecl _strcmpi(_In_z_ char const *_String1, _In_z_ char const *_String2)
_strset
Definition: string.h:427
_Check_return_ _ACRTIMP int __cdecl _stricoll(_In_z_ char const *_String1, _In_z_ char const *_String2)
_FwdIt const _Ty _Val
Definition: algorithm:1938
_In_ _Value
Definition: string.h:398
_ACRTIMP
Definition: string.h:234
_Inout_z_
Definition: string.h:234
return strtok(_String, _Delimiters)
_In_opt_ _Locale _Source
Definition: string.h:269
_In_ int _SizeInBytes
Definition: direct.h:61
strcat
Definition: string.h:90
_Ret_z_ _Success_(return!=0) _Check_return_ _CRT_INSECURE_DEPRECATE(_strerror_s) _ACRTIMP char *__cdecl _strerror(_In_opt_z_ char const *_ErrorMessage)
_Check_return_ _ACRTIMP int __cdecl _stricmp_l(_In_z_ char const *_String1, _In_z_ char const *_String2, _In_opt_ _locale_t _Locale)
#define _Post_maybez_
Definition: sal.h:1369
_Check_return_ _ACRTIMP int __cdecl strcoll(_In_z_ char const *_String1, _In_z_ char const *_String2)