ReactOS 0.4.16-dev-555-g690643f
string.h
Go to the documentation of this file.
1
6#ifndef _INC_STRING
7#define _INC_STRING
8
9#include <corecrt.h>
10
11#define __CORRECT_ISO_CPP_STRING_H_PROTO // For stl
12
13#ifdef __cplusplus
14extern "C" {
15#endif
16
17#ifndef _NLSCMP_DEFINED
18#define _NLSCMP_DEFINED
19#define _NLSCMPERROR 2147483647
20#endif
21
22#ifndef _CRT_MEMORY_DEFINED
23#define _CRT_MEMORY_DEFINED
24
26 void*
30 _In_ const void *_Src,
31 _In_ int _Val,
32 _In_ size_t _MaxCount);
33
38 void*
41 _In_reads_bytes_opt_(_MaxCount) const void *_Buf,
42 _In_ int _Val,
43 _In_ size_t _MaxCount);
45
46#if defined __cplusplus
47 extern "C++" _Must_inspect_result_
48 inline void* __CRTDECL memchr(
50 _In_ int _Val,
51 _In_ size_t _MaxCount)
52 {
53 const void *_Bufc = _Buf;
54 return const_cast<void*>(memchr(_Bufc, _Val, _MaxCount));
55 }
56#endif
57
60 int
63 _In_reads_bytes_opt_(_Size) const void *_Buf1,
64 _In_reads_bytes_opt_(_Size) const void *_Buf2,
65 _In_ size_t _Size);
66
69 int
72 _In_reads_bytes_opt_(_Size) const void *_Buf1,
73 _In_reads_bytes_opt_(_Size) const void *_Buf2,
74 _In_ size_t _Size,
76
78 int
81 _In_reads_bytes_(_Size) const void *_Buf1,
82 _In_reads_bytes_(_Size) const void *_Buf2,
83 _In_ size_t _Size);
84
86 _At_buffer_((unsigned char*)_Dst,
89 _Post_satisfies_(((unsigned char*)_Dst)[_Iter_] == ((unsigned char*)_Src)[_Iter_]))
91 void*
93 memcpy(
95 _In_reads_bytes_(_MaxCount) const void *_Src,
96 _In_ size_t _MaxCount);
97
98 _Post_equal_to_(_Dst)
99 _At_buffer_((unsigned char*)_Dst,
100 _Iter_,
102 _Post_satisfies_(((unsigned char*)_Dst)[_Iter_] == _Val))
103 void*
104 __cdecl
105 memset(
106 _Out_writes_bytes_all_(_Size) void *_Dst,
108 _In_ size_t _Size);
109
110#ifndef NO_OLDNAMES
111
112 _CRTIMP
114 void*
115 __cdecl
117 _Out_writes_bytes_opt_(_Size) void *_Dst,
118 _In_reads_bytes_opt_(_Size) const void *_Src,
119 _In_ int _Val,
120 _In_ size_t _Size);
121
123 _CRTIMP
125 int
126 __cdecl
128 _In_reads_bytes_opt_(_Size) const void *_Buf1,
129 _In_reads_bytes_opt_(_Size) const void *_Buf2,
130 _In_ size_t _Size);
131
132#endif /* NO_OLDNAMES */
133
134#endif /* _CRT_MEMORY_DEFINED */
135
136 char*
137 __cdecl
139 _Inout_z_ char *_Str,
140 _In_ int _Val);
141
142 char*
143 __cdecl
145 _Out_writes_z_(_String_length_(_Source) + 1) char *_Dest,
146 _In_z_ const char *_Source);
147
148 char*
149 __cdecl
151 _Inout_updates_z_(_String_length_(_Dest) + _String_length_(_Source) + 1) char *_Dest,
152 _In_z_ const char *_Source);
153
155 int
156 __cdecl
158 _In_z_ const char *_Str1,
159 _In_z_ const char *_Str2);
160
161 _CRTIMP
162 size_t
163 __cdecl
165 _In_z_ const char *_Str);
166
167 _When_(_MaxCount > _String_length_(_Str),
168 _Post_satisfies_(return == _String_length_(_Str)))
169 _When_(_MaxCount <= _String_length_(_Str),
171 _CRTIMP
172 size_t
173 __cdecl
174 strnlen(
175 _In_reads_or_z_(_MaxCount) const char *_Str,
176 _In_ size_t _MaxCount);
177
179 void*
180 __cdecl
183 _In_reads_bytes_opt_(_MaxCount) const void *_Src,
184 _In_ size_t _MaxCount);
185
187 _CRTIMP
188 char*
189 __cdecl
191 _In_opt_z_ const char *_Src);
192
195 _CRTIMP
197 char*
198 __cdecl
200 _In_z_ const char *_Str,
201 _In_ int _Val);
203
204#ifdef __cplusplus
205 extern "C++"
207 inline char* __CRTDECL strchr(_In_z_ char *_String, _In_ int _Ch)
208 {
209 return const_cast<char*>(strchr(static_cast<const char*>(_String), _Ch));
210 }
211#endif // __cplusplus
212
214 _CRTIMP
215 int
216 __cdecl
218 _In_z_ const char *_Str1,
219 _In_z_ const char *_Str2);
220
222 _CRTIMP
223 int
224 __cdecl
226 _In_z_ const char *_Str1,
227 _In_z_ const char *_Str2);
228
230 _CRTIMP
231 int
232 __cdecl
234 _In_z_ const char *_Str1,
235 _In_z_ const char *_Str2,
237
239 _CRTIMP
240 int
241 __cdecl
243 _In_z_ const char *_Str1,
244 _In_z_ const char *_Str2);
245
247 _CRTIMP
248 int
249 __cdecl
251 _In_z_ const char *_Str1,
252 _In_z_ const char *_Str2,
254
256 _CRTIMP
257 int
258 __cdecl
260 _In_z_ const char *_Str1,
261 _In_z_ const char *_Str2);
262
264 _CRTIMP
265 int
266 __cdecl
268 _In_z_ const char *_Str1,
269 _In_z_ const char *_Str2,
271
273 _CRTIMP
274 int
275 __cdecl
277 _In_z_ const char *_Str1,
278 _In_z_ const char *_Str2,
279 _In_ size_t _MaxCount);
280
282 _CRTIMP
283 int
284 __cdecl
286 _In_z_ const char *_Str1,
287 _In_z_ const char *_Str2,
288 _In_ size_t _MaxCount,
290
292 _CRTIMP
293 int
294 __cdecl
296 _In_z_ const char *_Str1,
297 _In_z_ const char *_Str2,
298 _In_ size_t _MaxCount);
299
301 _CRTIMP
302 int
303 __cdecl
305 _In_z_ const char *_Str1,
306 _In_z_ const char *_Str2,
307 _In_ size_t _MaxCount,
309
311 _CRTIMP
312 size_t
313 __cdecl
315 _In_z_ const char *_Str,
316 _In_z_ const char *_Control);
317
319 _CRTIMP
321 char*
322 __cdecl
324 _In_opt_z_ const char *_ErrMsg);
325
327 _CRTIMP
329 char*
330 __cdecl
332 _In_ int);
333
334 _CRTIMP
335 char*
336 __cdecl
338 _Inout_z_ char *_String);
339
340 char*
342 char *_String,
344
345 char*
346 __cdecl
347 strncat(
348 char *_Dest,
349 const char *_Source,
350 size_t _Count);
351
353 int
354 __cdecl
356 _In_reads_or_z_(_MaxCount) const char *_Str1,
357 _In_reads_or_z_(_MaxCount) const char *_Str2,
358 _In_ size_t _MaxCount);
359
361 _CRTIMP
362 int
363 __cdecl
365 _In_reads_or_z_(_MaxCount) const char *_Str1,
366 _In_reads_or_z_(_MaxCount) const char *_Str2,
367 _In_ size_t _MaxCount);
368
370 _CRTIMP
371 int
372 __cdecl
374 _In_reads_or_z_(_MaxCount) const char *_Str1,
375 _In_reads_or_z_(_MaxCount) const char *_Str2,
376 _In_ size_t _MaxCount,
378
379 char*
380 __cdecl
381 strncpy(
382 char *_Dest,
383 const char *_Source,
384 size_t _Count);
385
386 _CRTIMP
388 char*
389 __cdecl
390 _strnset(
391 char *_Str,
392 int _Val,
393 size_t _MaxCount);
394
397 _CRTIMP
399 char*
400 __cdecl
402 _In_z_ const char *_Str,
403 _In_z_ const char *_Control);
405
406#ifdef __cplusplus
407 extern "C++"
409 inline char* __CRTDECL strpbrk(_In_z_ char *_String, _In_z_ const char *_Control)
410 {
411 return const_cast<char*>(strpbrk(static_cast<const char*>(_String), _Control));
412 }
413#endif // __cplusplus
414
417 _CRTIMP
419 char*
420 __cdecl
422 _In_z_ const char *_Str,
423 _In_ int _Ch);
425
426#ifdef __cplusplus
427 extern "C++"
429 inline char* __CRTDECL strrchr(_In_z_ char *_String, _In_ int _Ch)
430 {
431 return const_cast<char*>(strrchr(static_cast<const char*>(_String), _Ch));
432 }
433#endif // __cplusplus
434
435 _CRTIMP
436 char*
437 __cdecl
439 _Inout_z_ char *_Str);
440
442 _CRTIMP
443 size_t
444 __cdecl
446 _In_z_ const char *_Str,
447 _In_z_ const char *_Control);
448
451 _CRTIMP
453 char*
454 __cdecl
456 _In_z_ const char *_Str,
457 _In_z_ const char *_SubStr);
459
460#ifdef __cplusplus
461 extern "C++"
463 inline char* __CRTDECL strstr(_In_z_ char *_String, _In_z_ const char *_SubString)
464 {
465 return const_cast<char*>(strstr(static_cast<const char*>(_String), _SubString));
466 }
467#endif // __cplusplus
468
470 _CRTIMP
472 char*
473 __cdecl
475 _Inout_opt_z_ char *_Str,
476 _In_z_ const char *_Delim);
477
478 _CRTIMP
479 char*
480 __cdecl
482 _Inout_z_ char *_String);
483
484 _CRTIMP
485 char*
486 _strupr_l(
487 char *_String,
489
491 _CRTIMP
492 size_t
493 __cdecl
496 _In_z_ const char *_Src,
497 _In_ size_t _MaxCount);
498
500 _CRTIMP
501 size_t
502 __cdecl
505 _In_z_ const char *_Src,
506 _In_ size_t _MaxCount,
508
509#if __STDC_WANT_SECURE_LIB__
510
512 _CRTIMP
513 errno_t
514 __cdecl
515 _strset_s(
516 _Inout_updates_z_(_DstSize) char *_Dst,
517 _In_ size_t _DstSize,
518 _In_ int _Value);
519
521 _CRTIMP
522 errno_t
523 __cdecl
525 _Out_writes_z_(_SizeInBytes) char *_Buf,
526 _In_ size_t _SizeInBytes,
527 _In_opt_z_ const char *_ErrMsg);
528
530 _CRTIMP
531 errno_t
532 __cdecl
533 _strlwr_s(
534 _Inout_updates_z_(_Size) char *_Str,
535 _In_ size_t _Size);
536
538 _CRTIMP
539 errno_t
540 __cdecl
542 _Inout_updates_z_(_Size) char *_Str,
543 _In_ size_t _Size,
545
547 _CRTIMP
548 errno_t
549 __cdecl
551 _Inout_updates_z_(_Size) char *_Str,
552 _In_ size_t _Size,
553 _In_ int _Val,
554 _In_ size_t _MaxCount);
555
557 _CRTIMP
558 errno_t
559 __cdecl
560 _strupr_s(
561 _Inout_updates_z_(_Size) char *_Str,
562 _In_ size_t _Size);
563
565 _CRTIMP
566 errno_t
567 __cdecl
569 _Inout_updates_z_(_Size) char *_Str,
570 _In_ size_t _Size,
572
574 _CRTIMP
575 errno_t
576 __cdecl
577 strcpy_s(
578 _Out_writes_z_(_Size) char *_Dst,
579 _In_ size_t _Size,
580 _In_z_ const char *_Src);
581
583 _CRTIMP
584 errno_t
585 __cdecl
586 strcat_s(
587 _Inout_updates_z_(_Size) char *_Dst,
588 _In_ size_t _Size,
589 _In_z_ const char *_Src);
590
591#endif /* __STDC_WANT_SECURE_LIB__ */
592
593#ifndef NO_OLDNAMES
594
596 _CRTIMP
598 char*
599 __cdecl
601 _In_opt_z_ const char *_Src);
602
604 _CRTIMP
606 int
607 __cdecl
609 _In_z_ const char *_Str1,
610 _In_z_ const char *_Str2);
611
613 _CRTIMP
615 int
616 __cdecl
618 _In_z_ const char *_Str1,
619 _In_z_ const char *_Str2);
620
621 _CRTIMP
623 char*
624 __cdecl
626 _Inout_z_ char *_Str);
627
629 _CRTIMP
631 int
632 __cdecl
634 _In_z_ const char *_Str1,
635 _In_z_ const char *_Str,
636 _In_ size_t _MaxCount);
637
638 _CRTIMP
640 char*
641 __cdecl
643 _Inout_updates_z_(_MaxCount) char *_Str,
644 _In_ int _Val,
645 _In_ size_t _MaxCount);
646
647 _CRTIMP
649 char*
650 __cdecl
652 _Inout_z_ char *_Str);
653
654 _CRTIMP
656 char*
657 __cdecl
659 _Inout_z_ char *_Str,
660 _In_ int _Val);
661
662 _CRTIMP
664 char*
665 __cdecl
667 _Inout_z_ char *_Str);
668
669#endif /* NO_OLDNAMES */
670
671#ifndef _WSTRING_DEFINED
672#define _WSTRING_DEFINED
673
675 _CRTIMP
676 wchar_t*
677 __cdecl
679 _In_z_ const wchar_t *_Str);
680
681 _CRTIMP
683 wchar_t*
684 __cdecl
686 _Inout_updates_z_(_String_length_(_Dest) + _String_length_(_Source) + 1) wchar_t *_Dest,
687 _In_z_ const wchar_t *_Source);
688
690 _When_(return != 0, _Ret_range_(_Str, _Str + _String_length_(_Str) - 1))
691 _CRTIMP
693 wchar_t*
694 __cdecl
695 wcschr(
696 _In_z_ const wchar_t *_Str,
697 wchar_t _Ch);
698
699#ifdef __cplusplus
700 extern "C++"
702 _When_(return != NULL, _Ret_range_(_String, _String + _String_length_(_String) - 1))
703 inline wchar_t* __CRTDECL wcschr(_In_z_ wchar_t *_String, wchar_t _C)
704 {
705 return const_cast<wchar_t*>(wcschr(static_cast<const wchar_t*>(_String), _C));
706 }
707#endif // __cplusplus
708
710 _CRTIMP
711 int
712 __cdecl
714 _In_z_ const wchar_t *_Str1,
715 _In_z_ const wchar_t *_Str2);
716
717 _CRTIMP
719 wchar_t*
720 __cdecl
722 _Out_writes_z_(_String_length_(_Source) + 1) wchar_t *_Dest,
723 _In_z_ const wchar_t *_Source);
724
726 _CRTIMP
727 size_t
728 __cdecl
730 _In_z_ const wchar_t *_Str,
731 _In_z_ const wchar_t *_Control);
732
733 _CRTIMP
734 wchar_t*
735 __cdecl
736 wcsncat(
737 wchar_t *_Dest,
738 const wchar_t *_Source,
739 size_t _Count);
740
741 _Ret_range_(==,_String_length_(_Str))
742 _CRTIMP
743 size_t
744 __cdecl
745 wcslen(
746 _In_z_ const wchar_t *_Str);
747
748 _When_(_MaxCount > _String_length_(_Src),
749 _Post_satisfies_(return == _String_length_(_Src)))
750 _When_(_MaxCount <= _String_length_(_Src),
751 _Post_satisfies_(return == _MaxCount))
752 _CRTIMP
753 _CRT_INSECURE_DEPRECATE(wcsnlen_s)
754 size_t
755 __cdecl
756 wcsnlen(
757 _In_reads_or_z_(_MaxCount) const wchar_t *_Src,
758 _In_ size_t _MaxCount);
759
761 _CRTIMP
762 int
763 __cdecl
765 _In_reads_or_z_(_MaxCount) const wchar_t *_Str1,
766 _In_reads_or_z_(_MaxCount) const wchar_t *_Str2,
767 _In_ size_t _MaxCount);
768
769 _CRTIMP
771 wchar_t*
772 __cdecl
773 wcsncpy(
774 wchar_t *_Dest,
775 const wchar_t *_Source,
776 size_t _Count);
777
779 _CRTIMP
781 wchar_t*
782 __cdecl
784 _In_z_ const wchar_t *_Str,
785 _In_z_ const wchar_t *_Control);
786
787#ifdef __cplusplus
788 extern "C++"
790 inline wchar_t* __cdecl wcspbrk(_In_z_ wchar_t *_Str, _In_z_ const wchar_t *_Control)
791 {
792 return const_cast<wchar_t*>(wcspbrk(static_cast<const wchar_t*>(_Str), _Control));
793 }
794#endif // __cplusplus
795
797 _CRTIMP
799 wchar_t*
800 __cdecl
802 _In_z_ const wchar_t *_Str,
803 _In_ wchar_t _Ch);
804
805#ifdef __cplusplus
806 extern "C++"
808 inline wchar_t* __CRTDECL wcsrchr(_In_z_ wchar_t *_String, _In_ wchar_t _C)
809 {
810 return const_cast<wchar_t*>(wcsrchr(static_cast<const wchar_t*>(_String), _C));
811 }
812#endif // __cplusplus
813
815 _CRTIMP
816 size_t
817 __cdecl
819 _In_z_ const wchar_t *_Str,
820 _In_z_ const wchar_t *_Control);
821
823 _When_(return != 0,
824 _Ret_range_(_Str, _Str + _String_length_(_Str) - 1))
825 _CRTIMP
827 wchar_t*
828 __cdecl
829 wcsstr(
830 _In_z_ const wchar_t *_Str,
833
834#ifdef __cplusplus
835 extern "C++"
837 _When_(return != NULL, _Ret_range_(_String, _String + _String_length_(_String) - 1))
838 inline wchar_t* __CRTDECL wcsstr(_In_z_ wchar_t *_String, _In_z_ const wchar_t *_SubStr)
839 {
840 return const_cast<wchar_t*>(wcsstr(static_cast<const wchar_t*>(_String), _SubStr));
841 }
842#endif // __cplusplus
843
845 _CRTIMP
847 wchar_t*
848 __cdecl
850 _Inout_opt_z_ wchar_t *_Str,
851 _In_z_ const wchar_t *_Delim);
852
854 _CRTIMP
856 wchar_t*
857 __cdecl
859 _In_ int _ErrNum);
860
862 _CRTIMP
864 wchar_t*
865 __cdecl
867 _In_opt_z_ const wchar_t *_Str);
868
870 _CRTIMP
871 int
872 __cdecl
874 _In_z_ const wchar_t *_Str1,
875 _In_z_ const wchar_t *_Str2);
876
878 _CRTIMP
879 int
880 __cdecl
882 _In_z_ const wchar_t *_Str1,
883 _In_z_ const wchar_t *_Str2,
885
887 _CRTIMP
888 int
889 __cdecl
891 _In_reads_or_z_(_MaxCount) const wchar_t *_Str1,
892 _In_reads_or_z_(_MaxCount) const wchar_t *_Str2,
893 _In_ size_t _MaxCount);
894
896 _CRTIMP
897 int
898 __cdecl
900 _In_reads_or_z_(_MaxCount) const wchar_t *_Str1,
901 _In_reads_or_z_(_MaxCount) const wchar_t *_Str2,
902 _In_ size_t _MaxCount,
904
905 _CRTIMP
907 wchar_t*
908 __cdecl
909 _wcsnset(
910 wchar_t *_Str,
911 wchar_t _Val,
912 size_t _MaxCount);
913
914 _CRTIMP
915 wchar_t*
916 __cdecl
918 _Inout_z_ wchar_t *_Str);
919
920 _CRTIMP
922 wchar_t*
923 __cdecl
924 _wcsset(
925 wchar_t *_Str,
926 wchar_t _Val);
927
928 _CRTIMP
929 wchar_t*
930 __cdecl
932 _Inout_z_ wchar_t *_String);
933
934 _CRTIMP
935 wchar_t*
936 _wcslwr_l(
937 wchar_t *_String,
939
940 _CRTIMP
941 wchar_t*
942 __cdecl
944 _Inout_z_ wchar_t *_String);
945
946 _CRTIMP
947 wchar_t*
948 _wcsupr_l(
949 wchar_t *_String,
951
953 _CRTIMP
954 size_t
955 __cdecl
958 _In_z_ const wchar_t *_Src,
959 _In_ size_t _MaxCount);
960
962 _CRTIMP
963 size_t
964 __cdecl
967 _In_z_ const wchar_t *_Src,
968 _In_ size_t _MaxCount,
970
972 _CRTIMP
973 int
974 __cdecl
976 _In_z_ const wchar_t *_Str1,
977 _In_z_ const wchar_t *_Str2);
978
980 _CRTIMP
981 int
982 __cdecl
984 _In_z_ const wchar_t *_Str1,
985 _In_z_ const wchar_t *_Str2,
987
989 _CRTIMP
990 int
991 __cdecl
993 _In_z_ const wchar_t *_Str1,
994 _In_z_ const wchar_t *_Str2);
995
997 _CRTIMP
998 int
999 __cdecl
1001 _In_z_ const wchar_t *_Str1,
1002 _In_z_ const wchar_t *_Str2,
1004
1006 _CRTIMP
1007 int
1008 __cdecl
1010 _In_z_ const wchar_t *_Str1,
1011 _In_z_ const wchar_t *_Str2,
1012 _In_ size_t _MaxCount);
1013
1015 _CRTIMP
1016 int
1017 __cdecl
1019 _In_z_ const wchar_t *_Str1,
1020 _In_z_ const wchar_t *_Str2,
1021 _In_ size_t _MaxCount,
1023
1025 _CRTIMP
1026 int
1027 __cdecl
1029 _In_z_ const wchar_t *_Str1,
1030 _In_z_ const wchar_t *_Str2,
1031 _In_ size_t _MaxCount);
1032
1034 _CRTIMP
1035 int
1036 __cdecl
1038 _In_z_ const wchar_t *_Str1,
1039 _In_z_ const wchar_t *_Str2,
1040 _In_ size_t _MaxCount,
1042
1043#if __STDC_WANT_SECURE_LIB__
1044
1045 _CRTIMP
1046 errno_t
1047 __cdecl
1048 wcscat_s(
1049 wchar_t *Dest,
1050 size_t SizeInWords,
1051 const wchar_t *_Source);
1052
1054 _CRTIMP
1055 errno_t
1056 __cdecl
1057 wcscpy_s(
1058 _Out_writes_z_(SizeInWords) wchar_t *Dest,
1059 _In_ size_t SizeInWords,
1060 _In_z_ const wchar_t *_Source);
1061
1062 _CRTIMP
1063 errno_t
1064 __cdecl
1065 wcsnlen_s(
1066 wchar_t **_Src,
1067 size_t _MaxCount);
1068
1070 _CRTIMP
1071 errno_t
1072 __cdecl
1073 wcsncpy_s(
1074 _Out_writes_z_(_DstSizeInChars) wchar_t *_Dst,
1075 _In_ size_t _DstSizeInChars,
1076 _In_z_ const wchar_t *_Src,
1077 _In_ size_t _MaxCount);
1078
1080 _CRTIMP
1081 errno_t
1082 __cdecl
1084 _Out_writes_opt_z_(_SizeInWords) wchar_t *_Buf,
1085 _In_ size_t _SizeInWords,
1086 _In_ int _ErrNum);
1087
1089 _CRTIMP
1090 errno_t
1091 __cdecl
1094 _In_ size_t _SizeInWords,
1095 _In_z_ const wchar_t *_ErrMsg);
1096
1098 _CRTIMP
1099 errno_t
1100 __cdecl
1101 _wcsnset_s(
1102 _Inout_updates_z_(_DstSizeInWords) wchar_t *_Dst,
1103 _In_ size_t _DstSizeInWords,
1104 _In_ wchar_t _Val,
1105 _In_ size_t _MaxCount);
1106
1108 _CRTIMP
1109 errno_t
1110 __cdecl
1111 _wcsset_s(
1112 _Inout_updates_z_(_SizeInWords) wchar_t *_Str,
1113 _In_ size_t _SizeInWords,
1114 _In_ wchar_t _Val);
1115
1117 _CRTIMP
1118 errno_t
1119 __cdecl
1120 _wcslwr_s(
1121 _Inout_updates_z_(_SizeInWords) wchar_t *_Str,
1122 _In_ size_t _SizeInWords);
1123
1125 _CRTIMP
1126 errno_t
1127 __cdecl
1129 _Inout_updates_z_(_SizeInWords) wchar_t *_Str,
1130 _In_ size_t _SizeInWords,
1132
1134 _CRTIMP
1135 errno_t
1136 __cdecl
1137 _wcsupr_s(
1138 _Inout_updates_z_(_Size) wchar_t *_Str,
1139 _In_ size_t _Size);
1140
1142 _CRTIMP
1143 errno_t
1144 __cdecl
1146 _Inout_updates_z_(_Size) wchar_t *_Str,
1147 _In_ size_t _Size,
1149
1150#endif /* __STDC_WANT_SECURE_LIB__ */
1151
1152#ifndef NO_OLDNAMES
1153
1155 _CRTIMP
1157 wchar_t*
1158 __cdecl
1160 _In_z_ const wchar_t *_Str);
1161
1162#define wcswcs wcsstr
1163
1165 _CRTIMP
1167 int
1168 __cdecl
1170 _In_z_ const wchar_t *_Str1,
1171 _In_z_ const wchar_t *_Str2);
1172
1174 _CRTIMP
1176 int
1177 __cdecl
1179 _In_reads_or_z_(_MaxCount) const wchar_t *_Str1,
1180 _In_reads_or_z_(_MaxCount) const wchar_t *_Str2,
1181 _In_ size_t _MaxCount);
1182
1183 _CRTIMP
1185 wchar_t*
1186 __cdecl
1188 _Inout_updates_z_(_MaxCount) wchar_t *_Str,
1189 _In_ wchar_t _Val,
1190 _In_ size_t _MaxCount);
1191
1192 _CRTIMP
1194 wchar_t*
1195 __cdecl
1197 _Inout_z_ wchar_t *_Str);
1198
1199 _CRTIMP
1201 wchar_t*
1202 __cdecl
1204 _Inout_z_ wchar_t *_Str,
1205 wchar_t _Val);
1206
1207 _CRTIMP
1209 wchar_t*
1210 __cdecl
1212 _Inout_z_ wchar_t *_Str);
1213
1214 _CRTIMP
1216 wchar_t*
1217 __cdecl
1219 _Inout_z_ wchar_t *_Str);
1220
1222 _CRTIMP
1224 int
1225 __cdecl
1227 _In_z_ const wchar_t *_Str1,
1228 _In_z_ const wchar_t *_Str2);
1229
1230#endif /* NO_OLDNAMES */
1231
1232#endif /* !_WSTRING_DEFINED */
1233
1234#ifdef __cplusplus
1235}
1236#endif
1237
1238#include <sec_api/string_s.h>
1239#endif
#define __cdecl
Definition: accygwin.h:79
#define _stricmp
Definition: cat.c:22
_wcslwr
_wcsnset_s
wcsncat
_wcsupr_s_l
_wcsset
wcsncpy
_Source
_In_opt_ _Locale _Check_return_wat_ _ACRTIMP errno_t __cdecl _wcsupr_s(_Inout_updates_z_(_Size) wchar_t *_String, _In_ size_t _Size)
_wcslwr_l
wcscat
_wcsupr
_wcsupr_l
_wcsnset
_String
_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
_wcslwr_s_l
_Check_return_ _Ret_maybenull_ _In_ size_t _Count
Definition: malloc.h:108
#define _CRT_DISABLE_GCC_WARNINGS
Definition: crtdefs.h:45
#define _CRT_RESTORE_GCC_WARNINGS
Definition: crtdefs.h:46
#define _CRT_INSECURE_DEPRECATE_CORE(_Replacement)
Definition: crtdefs.h:162
#define _strdup
Definition: debug_ros.c:7
#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 _strnicmp(_String1, _String2, _MaxCount)
Definition: compat.h:23
#define stricmp(_String1, _String2)
Definition: compat.h:24
#define wcsicmp
Definition: compat.h:15
_Check_return_wat_ _CRTIMP errno_t __cdecl _strlwr_s(_Inout_updates_z_(size) char *str, _In_ size_t size)
Definition: stubs.c:511
_Check_return_wat_ _CRTIMP errno_t __cdecl _strset_s(_Inout_updates_z_(size) char *dst, _In_ size_t size, _In_ int val)
Definition: stubs.c:660
_Check_return_wat_ _CRTIMP errno_t __cdecl _strupr_s(_Inout_updates_z_(size) char *str, _In_ size_t size)
Definition: stubs.c:673
_Check_return_wat_ _CRTIMP errno_t __cdecl _strerror_s(_Out_writes_z_(_SizeInBytes) char *buf, _In_ size_t sizeInBytes, _In_opt_z_ const char *errMsg)
Definition: stubs.c:857
_Check_return_wat_ _CRTIMP errno_t __cdecl _wcslwr_s(_Inout_updates_z_(sizeInWords) wchar_t *str, _In_ size_t sizeInWords)
Definition: stubs.c:760
_CRTIMP size_t __cdecl wcslen(_In_z_ const wchar_t *_Str)
_CONST_RETURN wchar_t *__cdecl wcsstr(_In_z_ const wchar_t *_Str, _In_z_ const wchar_t *_SubStr)
_Dest
Definition: stdlib.h:926
_In_ _Pre_notnull_ _Buffer
Definition: stdlib.h:644
#define memcpy(s1, s2, n)
Definition: mkisofs.h:878
#define memmove(s1, s2, n)
Definition: mkisofs.h:881
#define memchr(s, c, n)
Definition: mkisofs.h:875
#define strcpy_s(d, l, s)
Definition: utility.h:200
#define wcscpy_s(d, l, s)
Definition: utility.h:201
#define wcsncpy_s(d, l, s, n)
Definition: utility.h:202
#define strcoll
Definition: util.h:34
#define _Post_maybez_
Definition: ms_sal.h:1372
#define _In_reads_bytes_(s)
Definition: no_sal2.h:170
#define _Out_writes_z_(s)
Definition: no_sal2.h:180
#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 _Out_writes_bytes_opt_(s)
Definition: no_sal2.h:228
#define _Inout_updates_z_(s)
Definition: no_sal2.h:186
#define _Out_writes_bytes_all_opt_(s)
Definition: no_sal2.h:244
#define _At_buffer_(t, i, c, a)
Definition: no_sal2.h:42
#define _In_reads_or_z_(s)
Definition: no_sal2.h:174
#define _Out_writes_opt_z_(s)
Definition: no_sal2.h:230
#define _Must_inspect_result_
Definition: no_sal2.h:62
#define _Post_satisfies_(e)
Definition: no_sal2.h:66
#define _In_
Definition: no_sal2.h:158
#define _Out_writes_bytes_all_(s)
Definition: no_sal2.h:194
#define _In_opt_
Definition: no_sal2.h:212
#define _Post_equal_to_(e)
Definition: no_sal2.h:384
#define _Inout_opt_z_
Definition: no_sal2.h:220
#define _Inout_z_
Definition: no_sal2.h:166
#define _When_(c, a)
Definition: no_sal2.h:38
#define _In_reads_bytes_opt_(s)
Definition: no_sal2.h:224
#define _CONST_RETURN
Definition: memory.h:16
_Check_return_ int __cdecl strcmp(_In_z_ const char *_Str1, _In_z_ const char *_Str2)
_Check_return_ _CRTIMP int __cdecl memicmp(_In_reads_bytes_opt_(_Size) const void *_Buf1, _In_reads_bytes_opt_(_Size) const void *_Buf2, _In_ size_t _Size)
_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)
_CRT_RESTORE_GCC_WARNINGS _CRTIMP char *__cdecl _strrev(_Inout_z_ char *_Str)
_Check_return_ int __cdecl strncmp(_In_reads_or_z_(_MaxCount) const char *_Str1, _In_reads_or_z_(_MaxCount) const char *_Str2, _In_ size_t _MaxCount)
_MaxCount
Definition: string.h:88
_Check_return_ _CRTIMP int __cdecl _stricmp_l(_In_z_ const char *_Str1, _In_z_ const char *_Str2, _In_opt_ _locale_t _Locale)
Definition: stubs.c:485
_Check_return_ _CRTIMP char *__cdecl _strerror(_In_opt_z_ const char *_ErrMsg)
_Check_return_ _CRTIMP int __cdecl strcmpi(_In_z_ const char *_Str1, _In_z_ const char *_Str2)
_Check_return_ _CRTIMP int __cdecl _strcoll_l(_In_z_ const char *_Str1, _In_z_ const char *_Str2, _In_opt_ _locale_t _Locale)
Definition: stubs.c:472
_Check_return_ _CRTIMP char *__cdecl strerror(_In_ int)
_Check_return_ _CRTIMP int __cdecl _stricoll_l(_In_z_ const char *_Str1, _In_z_ const char *_Str2, _In_opt_ _locale_t _Locale)
Definition: stubs.c:498
_CRTIMP void *__cdecl memccpy(_Out_writes_bytes_opt_(_Size) void *_Dst, _In_reads_bytes_opt_(_Size) const void *_Src, _In_ int _Val, _In_ size_t _Size)
_Check_return_ _CRTIMP int __cdecl _strcmpi(_In_z_ const char *_Str1, _In_z_ const char *_Str2)
_Check_return_ _CRTIMP int __cdecl _wcsncoll_l(_In_z_ const wchar_t *_Str1, _In_z_ const wchar_t *_Str2, _In_ size_t _MaxCount, _In_opt_ _locale_t _Locale)
Definition: stubs.c:843
_CRTIMP wchar_t *__cdecl _wcsrev(_Inout_z_ wchar_t *_Str)
_Check_return_ _CRTIMP int __cdecl _wcsnicoll(_In_z_ const wchar_t *_Str1, _In_z_ const wchar_t *_Str2, _In_ size_t _MaxCount)
_Check_return_ _CRTIMP int __cdecl _strnicoll_l(_In_z_ const char *_Str1, _In_z_ const char *_Str2, _In_ size_t _MaxCount, _In_opt_ _locale_t _Locale)
Definition: stubs.c:564
_Check_return_ _CRTIMP _CONST_RETURN wchar_t *__cdecl wcspbrk(_In_z_ const wchar_t *_Str, _In_z_ const wchar_t *_Control)
_CRTIMP char *__cdecl strupr(_Inout_z_ char *_Str)
_Check_return_opt_ _CRTIMP size_t __cdecl strxfrm(_Out_writes_opt_(_MaxCount) _Post_maybez_ char *_Dst, _In_z_ const char *_Src, _In_ size_t _MaxCount)
_In_ int _Val
Definition: string.h:107
_CRT_RESTORE_GCC_WARNINGS _Check_return_ _CRTIMP char *__cdecl strtok(_Inout_opt_z_ char *_Str, _In_z_ const char *_Delim)
_Check_return_ _CRTIMP int __cdecl _wcsicoll_l(_In_z_ const wchar_t *_Str1, _In_z_ const wchar_t *_Str2, _In_opt_ _locale_t _Locale)
Definition: stubs.c:747
_CRTIMP char *__cdecl strnset(_Inout_updates_z_(_MaxCount) char *_Str, _In_ int _Val, _In_ size_t _MaxCount)
_Check_return_ _CRTIMP int __cdecl wcscmp(_In_z_ const wchar_t *_Str1, _In_z_ const wchar_t *_Str2)
_Check_return_ _CRTIMP int __cdecl _wcsnicmp_l(_In_reads_or_z_(_MaxCount) const wchar_t *_Str1, _In_reads_or_z_(_MaxCount) const wchar_t *_Str2, _In_ size_t _MaxCount, _In_opt_ _locale_t _Locale)
Definition: stubs.c:829
_CRT_DISABLE_GCC_WARNINGS _Check_return_ _CRTIMP _CONST_RETURN char *__cdecl strpbrk(_In_z_ const char *_Str, _In_z_ const char *_Control)
_Check_return_opt_ _CRTIMP size_t __cdecl _strxfrm_l(_Out_writes_opt_(_MaxCount) _Post_maybez_ char *_Dst, _In_z_ const char *_Src, _In_ size_t _MaxCount, _In_opt_ _locale_t _Locale)
_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)
_CRT_DISABLE_GCC_WARNINGS _Check_return_ _CRTIMP _CONST_RETURN char *__cdecl strstr(_In_z_ const char *_Str, _In_z_ const char *_SubStr)
_Check_return_ _CRTIMP size_t __cdecl wcsspn(_In_z_ const wchar_t *_Str, _In_z_ const wchar_t *_Control)
_Check_return_ _CRTIMP wchar_t *__cdecl _wcserror(_In_ int _ErrNum)
_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)
_CRT_RESTORE_GCC_WARNINGS _Must_inspect_result_ _CRTIMP int __cdecl _memicmp(_In_reads_bytes_opt_(_Size) const void *_Buf1, _In_reads_bytes_opt_(_Size) const void *_Buf2, _In_ size_t _Size)
_Check_return_ _CRTIMP int __cdecl _strnicmp_l(_In_reads_or_z_(_MaxCount) const char *_Str1, _In_reads_or_z_(_MaxCount) const char *_Str2, _In_ size_t _MaxCount, _In_opt_ _locale_t _Locale)
_Check_return_ _CRTIMP int __cdecl _strncoll_l(_In_z_ const char *_Str1, _In_z_ const char *_Str2, _In_ size_t _MaxCount, _In_opt_ _locale_t _Locale)
Definition: stubs.c:536
_CRT_RESTORE_GCC_WARNINGS _Check_return_ _CRTIMP wchar_t *__cdecl wcstok(_Inout_opt_z_ wchar_t *_Str, _In_z_ const wchar_t *_Delim)
_Check_return_ _CRTIMP wchar_t *__cdecl _wcsdup(_In_z_ const wchar_t *_Str)
_Must_inspect_result_ _CRTIMP int __cdecl _memicmp_l(_In_reads_bytes_opt_(_Size) const void *_Buf1, _In_reads_bytes_opt_(_Size) const void *_Buf2, _In_ size_t _Size, _In_opt_ _locale_t _Locale)
_Must_inspect_result_ int __cdecl memcmp(_In_reads_bytes_(_Size) const void *_Buf1, _In_reads_bytes_(_Size) const void *_Buf2, _In_ size_t _Size)
_Check_return_ _CRTIMP int __cdecl _wcsnicoll_l(_In_z_ const wchar_t *_Str1, _In_z_ const wchar_t *_Str2, _In_ size_t _MaxCount, _In_opt_ _locale_t _Locale)
Definition: stubs.c:815
_CRTIMP wchar_t *__cdecl wcslwr(_Inout_z_ wchar_t *_Str)
_Check_return_ _CRTIMP int __cdecl wcsncmp(_In_reads_or_z_(_MaxCount) const wchar_t *_Str1, _In_reads_or_z_(_MaxCount) const wchar_t *_Str2, _In_ size_t _MaxCount)
_CRTIMP wchar_t *__cdecl wcsupr(_Inout_z_ wchar_t *_Str)
_Check_return_ _CRTIMP int __cdecl _wcsicoll(_In_z_ const wchar_t *_Str1, _In_z_ const wchar_t *_Str2)
_CRTIMP char *__cdecl strlwr(_Inout_z_ char *_Str)
_Size
Definition: string.h:101
_CRTIMP wchar_t *__cdecl wcsset(_Inout_z_ wchar_t *_Str, wchar_t _Val)
_Check_return_ _CRTIMP int __cdecl _strncoll(_In_z_ const char *_Str1, _In_z_ const char *_Str2, _In_ size_t _MaxCount)
_Check_return_ _CRTIMP size_t __cdecl wcscspn(_In_z_ const wchar_t *_Str, _In_z_ const wchar_t *_Control)
_Check_return_ _CRTIMP int __cdecl _wcsicmp_l(_In_z_ const wchar_t *_Str1, _In_z_ const wchar_t *_Str2, _In_opt_ _locale_t _Locale)
Definition: stubs.c:734
_Check_return_ wchar_t _Ch
Definition: string.h:697
_CRT_DISABLE_GCC_WARNINGS _Check_return_ _CRTIMP _CONST_RETURN char *__cdecl strchr(_In_z_ const char *_Str, _In_ int _Val)
_CRT_DISABLE_GCC_WARNINGS _In_z_ const wchar_t * _SubStr
Definition: string.h:831
_Iter_
Definition: string.h:87
_Check_return_ _CRTIMP char *__cdecl strdup(_In_opt_z_ const char *_Src)
_Check_return_ _CRTIMP size_t __cdecl strspn(_In_z_ const char *_Str, _In_z_ const char *_Control)
_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)
_CRT_RESTORE_GCC_WARNINGS _CRT_DISABLE_GCC_WARNINGS _Check_return_ _CRTIMP _CONST_RETURN char *__cdecl strrchr(_In_z_ const char *_Str, _In_ int _Ch)
_Check_return_ _CRTIMP int __cdecl _wcscoll_l(_In_z_ const wchar_t *_Str1, _In_z_ const wchar_t *_Str2, _In_opt_ _locale_t _Locale)
Definition: stubs.c:721
_CRTIMP size_t __cdecl strlen(_In_z_ const char *_Str)
_Check_return_ _CRTIMP int __cdecl wcscoll(_In_z_ const wchar_t *_Str1, _In_z_ const wchar_t *_Str2)
_CRTIMP void *__cdecl _memccpy(_Out_writes_bytes_opt_(_MaxCount) void *_Dst, _In_ const void *_Src, _In_ int _Val, _In_ size_t _MaxCount)
_Check_return_ _CRTIMP int __cdecl _strnicoll(_In_z_ const char *_Str1, _In_z_ const char *_Str2, _In_ size_t _MaxCount)
_CRTIMP char *__cdecl strset(_Inout_z_ char *_Str, _In_ int _Val)
_CRTIMP char *__cdecl strrev(_Inout_z_ char *_Str)
_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)
_Check_return_ _CRTIMP size_t __cdecl strcspn(_In_z_ const char *_Str, _In_z_ const char *_Control)
char * strlwr_l(char *_String, _locale_t _Locale)
_Check_return_ _CRTIMP int __cdecl _wcsnicmp(_In_reads_or_z_(_MaxCount) const wchar_t *_Str1, _In_reads_or_z_(_MaxCount) const wchar_t *_Str2, _In_ size_t _MaxCount)
_Check_return_ _CRTIMP int __cdecl _stricoll(_In_z_ const char *_Str1, _In_z_ const char *_Str2)
_Check_return_ _CRTIMP int __cdecl _wcsncoll(_In_z_ const wchar_t *_Str1, _In_z_ const wchar_t *_Str2, _In_ size_t _MaxCount)
_In_ size_t _SizeInBytes
Definition: time.h:146
_In_ size_t _SizeInWords
Definition: time.h:309
_In_ size_t _In_z_ _Printf_format_string_ const char _In_ const struct tm _In_opt_ _locale_t _Locale
Definition: time.h:159
#define inline
Definition: compat.h:23
_strlwr_s_l
Definition: string.h:249
strncpy
Definition: string.h:335
_strlwr
Definition: string.h:231
strcat
Definition: string.h:92
_strupr_l
Definition: string.h:471
_strset
Definition: string.h:424
_strupr
Definition: string.h:453
strcpy
Definition: string.h:131
_In_opt_ _Locale strncat
Definition: string.h:263
_strnset_s
Definition: string.h:393
_strnset
Definition: string.h:393
_strupr_s_l
Definition: string.h:471
int CDECL strcat_s(char *dst, size_t elem, const char *src)
Definition: string.c:40
int CDECL memmove_s(void *dest, size_t numberOfElements, const void *src, size_t count)
Definition: heap.c:757
int CDECL memcpy_s(void *dest, size_t numberOfElements, const void *src, size_t count)
Definition: heap.c:800
#define memset(x, y, z)
Definition: compat.h:39
int CDECL strerror_s(char *buffer, size_t numberOfElements, int errnum)
Definition: strerror.c:100
size_t __cdecl strnlen(char const *const string, size_t const maximum_count)
Definition: strnlen.cpp:202
size_t __cdecl wcsnlen(wchar_t const *const string, size_t const maximum_count)
Definition: strnlen.cpp:210
char *CDECL strtok_s(char *str, const char *delim, char **ctx)
Definition: strtok_s.c:9
#define _Check_return_opt_
Definition: corecrt.h:224
#define _CRT_NONSTDC_DEPRECATE(_NewName)
Definition: corecrt.h:439
#define _Check_return_wat_
Definition: corecrt.h:230
int errno_t
Definition: corecrt.h:615
#define _CRT_INSECURE_DEPRECATE_MEMORY(_Replacement)
Definition: vcruntime.h:105
#define _CRT_INSECURE_DEPRECATE(_Replacement)
Definition: vcruntime.h:99
#define _CRTIMP
Definition: vcruntime.h:54
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 strnicmp
Definition: xmlstorage.h:206
#define __CRTDECL
Definition: yvals.h:17
#define const
Definition: zconf.h:233