STLdoc
STLdocumentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
stdio.h
Go to the documentation of this file.
1 //
2 // stdio.h
3 //
4 // Copyright (c) Microsoft Corporation. All rights reserved.
5 //
6 // The C Standard Library <stdio.h> header.
7 //
8 #pragma once
9 #define _INC_STDIO
10 
11 #include <corecrt.h>
12 #include <corecrt_wstdio.h>
13 
15 
16 /* Buffered I/O macros */
17 
18 #define BUFSIZ 512
19 
20 
21 
22 /*
23  * Default number of supported streams. _NFILE is confusing and obsolete, but
24  * supported anyway for backwards compatibility.
25  */
26 #define _NFILE _NSTREAM_
27 
28 #define _NSTREAM_ 512
29 
30 /*
31  * Number of entries in _iob[] (declared below). Note that _NSTREAM_ must be
32  * greater than or equal to _IOB_ENTRIES.
33  */
34 #define _IOB_ENTRIES 3
35 
36 #define EOF (-1)
37 
38 #define _IOFBF 0x0000
39 #define _IOLBF 0x0040
40 #define _IONBF 0x0004
41 
42 
43 
44 #define L_tmpnam 260 // _MAX_PATH
45 #if __STDC_WANT_SECURE_LIB__
46  #define L_tmpnam_s L_tmpnam
47 #endif
48 
49 
50 
51 /* Seek method constants */
52 
53 #define SEEK_CUR 1
54 #define SEEK_END 2
55 #define SEEK_SET 0
56 
57 
58 #define FILENAME_MAX 260
59 #define FOPEN_MAX 20
60 #define _SYS_OPEN 20
61 #define TMP_MAX _CRT_INT_MAX
62 #if __STDC_WANT_SECURE_LIB__
63  #define TMP_MAX_S TMP_MAX
64  #define _TMP_MAX_S TMP_MAX
65 #endif
66 
67 
68 typedef __int64 fpos_t;
69 
70 
71 
72 #if _CRT_FUNCTIONS_REQUIRED
73 
76  _In_ FILE* _Stream,
77  _Out_opt_ char*** _Base,
78  _Out_opt_ char*** _Pointer,
79  _Out_opt_ int** _Count
80  );
81 
82 
83  //-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
84  //
85  // Narrow Character Stream I/O Functions
86  //
87  //-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
88  #if __STDC_WANT_SECURE_LIB__
89 
91  _ACRTIMP errno_t __cdecl clearerr_s(
93  );
94 
96  _ACRTIMP errno_t __cdecl fopen_s(
98  _In_z_ char const* _FileName,
99  _In_z_ char const* _Mode
100  );
101 
103  _Success_(return != 0)
104  _ACRTIMP size_t __cdecl fread_s(
106  _In_range_(>=, _ElementSize * _ElementCount) size_t _BufferSize,
108  _In_ size_t _ElementCount,
110  );
111 
113  _ACRTIMP errno_t __cdecl freopen_s(
115  _In_z_ char const* _FileName,
116  _In_z_ char const* _Mode,
117  _Inout_ FILE* _OldStream
118  );
119 
120  _Success_(return != 0)
121  _ACRTIMP char* __cdecl gets_s(
122  _Out_writes_z_(_Size) char* _Buffer,
124  );
125 
127  _ACRTIMP errno_t __cdecl tmpfile_s(
129  );
130 
131  _Success_(return == 0)
133  _ACRTIMP errno_t __cdecl tmpnam_s(
134  _Out_writes_z_(_Size) char* _Buffer,
136  );
137 
138  #endif
139 
140  _ACRTIMP void __cdecl clearerr(
141  _Inout_ FILE* _Stream
142  );
143 
144  _Success_(return != -1)
146  _ACRTIMP int __cdecl fclose(
147  _Inout_ FILE* _Stream
148  );
149 
151  _ACRTIMP int __cdecl _fcloseall(void);
152 
154  _ACRTIMP FILE* __cdecl _fdopen(
155  _In_ int _FileHandle,
156  _In_z_ char const* _Mode
157  );
158 
160  _ACRTIMP int __cdecl feof(
161  _In_ FILE* _Stream
162  );
163 
165  _ACRTIMP int __cdecl ferror(
166  _In_ FILE* _Stream
167  );
168 
170  _ACRTIMP int __cdecl fflush(
171  _Inout_opt_ FILE* _Stream
172  );
173 
174  _Success_(return != EOF)
176  _ACRTIMP int __cdecl fgetc(
177  _Inout_ FILE* _Stream
178  );
179 
181  _ACRTIMP int __cdecl _fgetchar(void);
182 
183  _Success_(return != EOF)
185  _ACRTIMP int __cdecl fgetpos(
186  _Inout_ FILE* _Stream,
188  );
189 
190  _Success_(return == _Buffer)
192  _ACRTIMP char* __cdecl fgets(
193  _Out_writes_z_(_MaxCount) char* _Buffer,
195  _Inout_ FILE* _Stream
196  );
197 
199  _ACRTIMP int __cdecl _fileno(
200  _In_ FILE* _Stream
201  );
202 
204  _ACRTIMP int __cdecl _flushall(void);
205 
207  _ACRTIMP FILE* __cdecl fopen(
208  _In_z_ char const* _FileName,
209  _In_z_ char const* _Mode
210  );
211 
212 
213  _Success_(return != EOF)
215  _ACRTIMP int __cdecl fputc(
216  _In_ int _Character,
217  _Inout_ FILE* _Stream
218  );
219 
221  _ACRTIMP int __cdecl _fputchar(
222  _In_ int _Character
223  );
224 
225  _Success_(return != EOF)
227  _ACRTIMP int __cdecl fputs(
228  _In_z_ char const* _Buffer,
229  _Inout_ FILE* _Stream
230  );
231 
233  _ACRTIMP size_t __cdecl fread(
234  _Out_writes_bytes_(_ElementSize * _ElementCount) void* _Buffer,
235  _In_ size_t _ElementSize,
236  _In_ size_t _ElementCount,
237  _Inout_ FILE* _Stream
238  );
239 
240  _Success_(return != 0)
242  _ACRTIMP FILE* __cdecl freopen(
243  _In_z_ char const* _FileName,
244  _In_z_ char const* _Mode,
245  _Inout_ FILE* _Stream
246  );
247 
249  _ACRTIMP FILE* __cdecl _fsopen(
250  _In_z_ char const* _FileName,
251  _In_z_ char const* _Mode,
252  _In_ int _ShFlag
253  );
254 
255  _Success_(return == 0)
257  _ACRTIMP int __cdecl fsetpos(
258  _Inout_ FILE* _Stream,
259  _In_ fpos_t const* _Position
260  );
261 
262  _Success_(return == 0)
264  _ACRTIMP int __cdecl fseek(
265  _Inout_ FILE* _Stream,
266  _In_ long _Offset,
267  _In_ int _Origin
268  );
269 
270  _Success_(return == 0)
272  _ACRTIMP int __cdecl _fseeki64(
273  _Inout_ FILE* _Stream,
274  _In_ __int64 _Offset,
275  _In_ int _Origin
276  );
277 
278  _Success_(return != -1)
280  _ACRTIMP long __cdecl ftell(
281  _Inout_ FILE* _Stream
282  );
283 
284  _Success_(return != -1)
286  _ACRTIMP __int64 __cdecl _ftelli64(
287  _Inout_ FILE* _Stream
288  );
289 
291  _ACRTIMP size_t __cdecl fwrite(
292  _In_reads_bytes_(_ElementSize * _ElementCount) void const* _Buffer,
293  _In_ size_t _ElementSize,
294  _In_ size_t _ElementCount,
295  _Inout_ FILE* _Stream
296  );
297 
298  _Success_(return != EOF)
300  _ACRTIMP int __cdecl getc(
301  _Inout_ FILE* _Stream
302  );
303 
305  _ACRTIMP int __cdecl getchar(void);
306 
308  _ACRTIMP int __cdecl _getmaxstdio(void);
309 
311  char*, gets_s,
312  char, _Buffer)
313 
315  _ACRTIMP int __cdecl _getw(
316  _Inout_ FILE* _Stream
317  );
318 
319  _ACRTIMP void __cdecl perror(
320  _In_opt_z_ char const* _ErrorMessage
321  );
322 
323  #if defined _CRT_USE_WINAPI_FAMILY_DESKTOP_APP
324 
325  _Success_(return != -1)
327  _DCRTIMP int __cdecl _pclose(
328  _Inout_ FILE* _Stream
329  );
330 
332  _DCRTIMP FILE* __cdecl _popen(
333  _In_z_ char const* _Command,
334  _In_z_ char const* _Mode
335  );
336 
337  #endif
338 
339  _Success_(return != EOF)
341  _ACRTIMP int __cdecl putc(
342  _In_ int _Character,
343  _Inout_ FILE* _Stream
344  );
345 
347  _ACRTIMP int __cdecl putchar(
348  _In_ int _Character
349  );
350 
352  _ACRTIMP int __cdecl puts(
353  _In_z_ char const* _Buffer
354  );
355 
356  _Success_(return != -1)
358  _ACRTIMP int __cdecl _putw(
359  _In_ int _Word,
360  _Inout_ FILE* _Stream
361  );
362 
363  _ACRTIMP int __cdecl remove(
364  _In_z_ char const* _FileName
365  );
366 
368  _ACRTIMP int __cdecl rename(
369  _In_z_ char const* _OldFileName,
370  _In_z_ char const* _NewFileName
371  );
372 
373  _ACRTIMP int __cdecl _unlink(
374  _In_z_ char const* _FileName
375  );
376 
377  #if _CRT_INTERNAL_NONSTDC_NAMES
378 
380  _ACRTIMP int __cdecl unlink(
381  _In_z_ char const* _FileName
382  );
383 
384  #endif
385 
386  _ACRTIMP void __cdecl rewind(
387  _Inout_ FILE* _Stream
388  );
389 
391  _ACRTIMP int __cdecl _rmtmp(void);
392 
393  _CRT_INSECURE_DEPRECATE(setvbuf)
394  _ACRTIMP void __cdecl setbuf(
395  _Inout_ FILE* _Stream,
397  );
398 
400  _ACRTIMP int __cdecl _setmaxstdio(
401  _In_ int _Maximum
402  );
403 
404  _Success_(return == 0)
406  _ACRTIMP int __cdecl setvbuf(
407  _Inout_ FILE* _Stream,
408  _Inout_updates_opt_(_Size) char* _Buffer,
409  _In_ int _Mode,
410  _In_ size_t _Size
411  );
412 
413  #if defined _DEBUG && defined _CRTDBG_MAP_ALLOC
414  #pragma push_macro("_tempnam")
415  #undef _tempnam
416  #endif
417 
419  _ACRTIMP _CRTALLOCATOR char* __cdecl _tempnam(
420  _In_opt_z_ char const* _DirectoryName,
421  _In_opt_z_ char const* _FilePrefix
422  );
423 
424  #if defined _DEBUG && defined _CRTDBG_MAP_ALLOC
425  #pragma pop_macro("_tempnam")
426  #endif
427 
429  _ACRTIMP FILE* __cdecl tmpfile(void);
430 
432  _Success_(return == 0)
433  errno_t, tmpnam_s,
434  _Always_(_Post_z_) char, _Buffer
435  )
436 
437 #pragma warning(push)
438 #pragma warning(disable: 28726) // __WARNING_BANNED_API_USAGEL2
440  _Success_(return != 0)
443  )
444 #pragma warning(pop)
445 
446  _Success_(return != EOF)
448  _ACRTIMP int __cdecl ungetc(
449  _In_ int _Character,
450  _Inout_ FILE* _Stream
451  );
452 
453 
454 
455  //-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
456  //
457  // I/O Synchronization and _nolock family of I/O functions
458  //
459  //-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
460  _ACRTIMP void __cdecl _lock_file(
461  _Inout_ FILE* _Stream
462  );
463 
464  _ACRTIMP void __cdecl _unlock_file(
465  _Inout_ FILE* _Stream
466  );
467 
468  _Success_(return != EOF)
470  _ACRTIMP int __cdecl _fclose_nolock(
471  _Inout_ FILE* _Stream
472  );
473 
474  _Success_(return != EOF)
476  _ACRTIMP int __cdecl _fflush_nolock(
477  _Inout_opt_ FILE* _Stream
478  );
479 
480  _Success_(return != EOF)
482  _ACRTIMP int __cdecl _fgetc_nolock(
483  _Inout_ FILE* _Stream
484  );
485 
486  _Success_(return != EOF)
488  _ACRTIMP int __cdecl _fputc_nolock(
489  _In_ int _Character,
490  _Inout_ FILE* _Stream
491  );
492 
494  _ACRTIMP size_t __cdecl _fread_nolock(
495  _Out_writes_bytes_(_ElementSize * _ElementCount) void* _Buffer,
496  _In_ size_t _ElementSize,
497  _In_ size_t _ElementCount,
498  _Inout_ FILE* _Stream
499  );
500 
502  _Success_(return != 0)
503  _ACRTIMP size_t __cdecl _fread_nolock_s(
504  _Out_writes_bytes_to_(_BufferSize, _ElementSize * _ElementCount) void* _Buffer,
505  _In_range_(>=, _ElementSize * _ElementCount) size_t _BufferSize,
506  _In_ size_t _ElementSize,
507  _In_ size_t _ElementCount,
508  _Inout_ FILE* _Stream
509  );
510 
512  _ACRTIMP int __cdecl _fseek_nolock(
513  _Inout_ FILE* _Stream,
514  _In_ long _Offset,
515  _In_ int _Origin
516  );
517 
519  _ACRTIMP int __cdecl _fseeki64_nolock(
520  _Inout_ FILE* _Stream,
521  _In_ __int64 _Offset,
522  _In_ int _Origin
523  );
524 
526  _ACRTIMP long __cdecl _ftell_nolock(
527  _Inout_ FILE* _Stream
528  );
529 
531  _ACRTIMP __int64 __cdecl _ftelli64_nolock(
532  _Inout_ FILE* _Stream
533  );
534 
536  _ACRTIMP size_t __cdecl _fwrite_nolock(
537  _In_reads_bytes_(_ElementSize * _ElementCount) void const* _Buffer,
538  _In_ size_t _ElementSize,
539  _In_ size_t _ElementCount,
540  _Inout_ FILE* _Stream
541  );
542 
544  _ACRTIMP int __cdecl _getc_nolock(
545  _Inout_ FILE* _Stream
546  );
547 
549  _ACRTIMP int __cdecl _putc_nolock(
550  _In_ int _Character,
551  _Inout_ FILE* _Stream
552  );
553 
555  _ACRTIMP int __cdecl _ungetc_nolock(
556  _In_ int _Character,
557  _Inout_ FILE* _Stream
558  );
559 
560  #define _getchar_nolock() _getc_nolock(stdin)
561  #define _putchar_nolock(_Ch) _putc_nolock(_Ch, stdout)
562  #define _getwchar_nolock() _getwc_nolock(stdin)
563  #define _putwchar_nolock(_Ch) _putwc_nolock(_Ch, stdout)
564 
565 
566 
567  #if defined _CRT_DISABLE_PERFCRIT_LOCKS && !defined _DLL
568  #define fclose(_Stream) _fclose_nolock(_Stream)
569  #define fflush(_Stream) _fflush_nolock(_Stream)
570  #define fgetc(_Stream) _fgetc_nolock(_Stream)
571  #define fread(_DstBuf, _ElementSize, _Count, _Stream) _fread_nolock(_DstBuf, _ElementSize, _Count, _Stream)
572  #define fread_s(_DstBuf, _DstSize, _ElementSize, _Count, _Stream) _fread_nolock_s(_DstBuf, _DstSize, _ElementSize, _Count, _Stream)
573  #define fseek(_Stream, _Offset, _Origin) _fseek_nolock(_Stream, _Offset, _Origin)
574  #define _fseeki64(_Stream, _Offset, _Origin) _fseeki64_nolock(_Stream, _Offset, _Origin)
575  #define ftell(_Stream) _ftell_nolock(_Stream)
576  #define _ftelli64(_Stream) _ftelli64_nolock(_Stream)
577  #define fwrite(_SrcBuf, _ElementSize, _Count, _Stream) _fwrite_nolock(_SrcBuf, _ElementSize, _Count, _Stream)
578  #define getc(_Stream) _getc_nolock(_Stream)
579  #define putc(_Ch, _Stream) _fputc(_Ch, _Stream)
580  #define ungetc(_Ch, _Stream) _ungetc_nolock(_Ch, _Stream)
581  #endif
582 
583 
584 
585  _ACRTIMP int* __cdecl __p__commode(void);
586 
587  #ifdef _CRT_DECLARE_GLOBAL_VARIABLES_DIRECTLY
588  extern int _commode;
589  #else
590  #define _commode (*__p__commode())
591  #endif
592 
593 
594 
595  // Variadic functions are not supported in managed code under /clr
596  #if defined _M_CEE_MIXED
597  #pragma managed(push, off)
598  #endif
599 
600  //-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
601  //
602  // Narrow Character Formatted Output Functions (Stream)
603  //
604  //-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
605  _ACRTIMP int __cdecl __stdio_common_vfprintf(
606  _In_ unsigned __int64 _Options,
607  _Inout_ FILE* _Stream,
611  );
612 
614  _In_ unsigned __int64 _Options,
615  _Inout_ FILE* _Stream,
619  );
620 
621  _Success_(return >= 0)
622  _ACRTIMP int __cdecl __stdio_common_vfprintf_p(
623  _In_ unsigned __int64 _Options,
624  _Inout_ FILE* _Stream,
628  );
629 
632  _Inout_ FILE* const _Stream,
633  _In_z_ char const* const _Format,
634  _In_opt_ _locale_t const _Locale,
635  va_list _ArgList
636  )
637  #if defined _NO_CRT_STDIO_INLINE
638  ;
639  #else
640  {
641  return __stdio_common_vfprintf(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS, _Stream, _Format, _Locale, _ArgList);
642  }
643  #endif
644 
647  _Inout_ FILE* const _Stream,
648  _In_z_ _Printf_format_string_ char const* const _Format,
649  va_list _ArgList
650  )
651  #if defined _NO_CRT_STDIO_INLINE
652  ;
653  #else
654  {
655  return _vfprintf_l(_Stream, _Format, NULL, _ArgList);
656  }
657  #endif
658 
661  _Inout_ FILE* const _Stream,
662  _In_z_ char const* const _Format,
663  _In_opt_ _locale_t const _Locale,
664  va_list _ArgList
665  )
666  #if defined _NO_CRT_STDIO_INLINE
667  ;
668  #else
669  {
670  return __stdio_common_vfprintf_s(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS, _Stream, _Format, _Locale, _ArgList);
671  }
672  #endif
673 
674  #if __STDC_WANT_SECURE_LIB__
675 
678  _Inout_ FILE* const _Stream,
679  _In_z_ _Printf_format_string_ char const* const _Format,
680  va_list _ArgList
681  )
682  #if defined _NO_CRT_STDIO_INLINE
683  ;
684  #else
685  {
686  return _vfprintf_s_l(_Stream, _Format, NULL, _ArgList);
687  }
688  #endif
689 
690  #endif
691 
694  _Inout_ FILE* const _Stream,
695  _In_z_ char const* const _Format,
696  _In_opt_ _locale_t const _Locale,
697  va_list _ArgList
698  )
699  #if defined _NO_CRT_STDIO_INLINE
700  ;
701  #else
702  {
703  return __stdio_common_vfprintf_p(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS, _Stream, _Format, _Locale, _ArgList);
704  }
705  #endif
706 
709  _Inout_ FILE* const _Stream,
710  _In_z_ _Printf_format_string_ char const* const _Format,
711  va_list _ArgList
712  )
713  #if defined _NO_CRT_STDIO_INLINE
714  ;
715  #else
716  {
717  return _vfprintf_p_l(_Stream, _Format, NULL, _ArgList);
718  }
719  #endif
720 
723  _In_z_ _Printf_format_string_params_(2) char const* const _Format,
724  _In_opt_ _locale_t const _Locale,
725  va_list _ArgList
726  )
727  #if defined _NO_CRT_STDIO_INLINE
728  ;
729  #else
730  {
731  return _vfprintf_l(stdout, _Format, _Locale, _ArgList);
732  }
733  #endif
734 
737  _In_z_ _Printf_format_string_ char const* const _Format,
738  va_list _ArgList
739  )
740  #if defined _NO_CRT_STDIO_INLINE
741  ;
742  #else
743  {
744  return _vfprintf_l(stdout, _Format, NULL, _ArgList);
745  }
746  #endif
747 
750  _In_z_ _Printf_format_string_params_(2) char const* const _Format,
751  _In_opt_ _locale_t const _Locale,
752  va_list _ArgList
753  )
754  #if defined _NO_CRT_STDIO_INLINE
755  ;
756  #else
757  {
758  return _vfprintf_s_l(stdout, _Format, _Locale, _ArgList);
759  }
760  #endif
761 
762  #if __STDC_WANT_SECURE_LIB__
763 
766  _In_z_ _Printf_format_string_ char const* const _Format,
767  va_list _ArgList
768  )
769  #if defined _NO_CRT_STDIO_INLINE
770  ;
771  #else
772  {
773  return _vfprintf_s_l(stdout, _Format, NULL, _ArgList);
774  }
775  #endif
776 
777  #endif
778 
781  _In_z_ _Printf_format_string_params_(2) char const* const _Format,
782  _In_opt_ _locale_t const _Locale,
783  va_list _ArgList
784  )
785  #if defined _NO_CRT_STDIO_INLINE
786  ;
787  #else
788  {
789  return _vfprintf_p_l(stdout, _Format, _Locale, _ArgList);
790  }
791  #endif
792 
795  _In_z_ _Printf_format_string_ char const* const _Format,
796  va_list _ArgList
797  )
798  #if defined _NO_CRT_STDIO_INLINE
799  ;
800  #else
801  {
802  return _vfprintf_p_l(stdout, _Format, NULL, _ArgList);
803  }
804  #endif
805 
808  _Inout_ FILE* const _Stream,
809  _In_z_ _Printf_format_string_params_(0) char const* const _Format,
810  _In_opt_ _locale_t const _Locale,
811  ...)
812  #if defined _NO_CRT_STDIO_INLINE
813  ;
814  #else
815  {
816  int _Result;
818  __crt_va_start(_ArgList, _Locale);
819  _Result = _vfprintf_l(_Stream, _Format, _Locale, _ArgList);
820  __crt_va_end(_ArgList);
821  return _Result;
822  }
823  #endif
824 
827  _Inout_ FILE* const _Stream,
828  _In_z_ _Printf_format_string_ char const* const _Format,
829  ...)
830  #if defined _NO_CRT_STDIO_INLINE
831  ;
832  #else
833  {
834  int _Result;
836  __crt_va_start(_ArgList, _Format);
837  _Result = _vfprintf_l(_Stream, _Format, NULL, _ArgList);
838  __crt_va_end(_ArgList);
839  return _Result;
840  }
841  #endif
842 
844  _In_ int _Value
845  );
846 
847  _ACRTIMP int __cdecl _get_printf_count_output(void);
848 
851  _Inout_ FILE* const _Stream,
852  _In_z_ _Printf_format_string_params_(0) char const* const _Format,
853  _In_opt_ _locale_t const _Locale,
854  ...)
855  #if defined _NO_CRT_STDIO_INLINE
856  ;
857  #else
858  {
859  int _Result;
861  __crt_va_start(_ArgList, _Locale);
862  _Result = _vfprintf_s_l(_Stream, _Format, _Locale, _ArgList);
863  __crt_va_end(_ArgList);
864  return _Result;
865  }
866  #endif
867 
868  #if __STDC_WANT_SECURE_LIB__
869 
872  _Inout_ FILE* const _Stream,
873  _In_z_ _Printf_format_string_ char const* const _Format,
874  ...)
875  #if defined _NO_CRT_STDIO_INLINE
876  ;
877  #else
878  {
879  int _Result;
881  __crt_va_start(_ArgList, _Format);
882  _Result = _vfprintf_s_l(_Stream, _Format, NULL, _ArgList);
883  __crt_va_end(_ArgList);
884  return _Result;
885  }
886  #endif
887 
888  #endif
889 
892  _Inout_ FILE* const _Stream,
893  _In_z_ _Printf_format_string_params_(0) char const* const _Format,
894  _In_opt_ _locale_t const _Locale,
895  ...)
896  #if defined _NO_CRT_STDIO_INLINE
897  ;
898  #else
899  {
900  int _Result;
902  __crt_va_start(_ArgList, _Locale);
903  _Result = _vfprintf_p_l(_Stream, _Format, _Locale, _ArgList);
904  __crt_va_end(_ArgList);
905  return _Result;
906  }
907  #endif
908 
911  _Inout_ FILE* const _Stream,
912  _In_z_ _Printf_format_string_ char const* const _Format,
913  ...)
914  #if defined _NO_CRT_STDIO_INLINE
915  ;
916  #else
917  {
918  int _Result;
920  __crt_va_start(_ArgList, _Format);
921  _Result = _vfprintf_p_l(_Stream, _Format, NULL, _ArgList);
922  __crt_va_end(_ArgList);
923  return _Result;
924  }
925  #endif
926 
929  _In_z_ _Printf_format_string_params_(0) char const* const _Format,
930  _In_opt_ _locale_t const _Locale,
931  ...)
932  #if defined _NO_CRT_STDIO_INLINE
933  ;
934  #else
935  {
936  int _Result;
938  __crt_va_start(_ArgList, _Locale);
939  _Result = _vfprintf_l(stdout, _Format, _Locale, _ArgList);
940  __crt_va_end(_ArgList);
941  return _Result;
942  }
943  #endif
944 
947  _In_z_ _Printf_format_string_ char const* const _Format,
948  ...)
949  #if defined _NO_CRT_STDIO_INLINE
950  ;
951  #else
952  {
953  int _Result;
955  __crt_va_start(_ArgList, _Format);
956  _Result = _vfprintf_l(stdout, _Format, NULL, _ArgList);
957  __crt_va_end(_ArgList);
958  return _Result;
959  }
960  #endif
961 
964  _In_z_ _Printf_format_string_params_(0) char const* const _Format,
965  _In_opt_ _locale_t const _Locale,
966  ...)
967  #if defined _NO_CRT_STDIO_INLINE
968  ;
969  #else
970  {
971  int _Result;
973  __crt_va_start(_ArgList, _Locale);
974  _Result = _vfprintf_s_l(stdout, _Format, _Locale, _ArgList);
975  __crt_va_end(_ArgList);
976  return _Result;
977  }
978  #endif
979 
980  #if __STDC_WANT_SECURE_LIB__
981 
984  _In_z_ _Printf_format_string_ char const* const _Format,
985  ...)
986  #if defined _NO_CRT_STDIO_INLINE
987  ;
988  #else
989  {
990  int _Result;
992  __crt_va_start(_ArgList, _Format);
993  _Result = _vfprintf_s_l(stdout, _Format, NULL, _ArgList);
994  __crt_va_end(_ArgList);
995  return _Result;
996  }
997  #endif
998 
999  #endif
1000 
1003  _In_z_ _Printf_format_string_params_(0) char const* const _Format,
1004  _In_opt_ _locale_t const _Locale,
1005  ...)
1006  #if defined _NO_CRT_STDIO_INLINE
1007  ;
1008  #else
1009  {
1010  int _Result;
1011  va_list _ArgList;
1012  __crt_va_start(_ArgList, _Locale);
1013  _Result = _vfprintf_p_l(stdout, _Format, _Locale, _ArgList);
1014  __crt_va_end(_ArgList);
1015  return _Result;
1016  }
1017  #endif
1018 
1021  _In_z_ _Printf_format_string_ char const* const _Format,
1022  ...)
1023  #if defined _NO_CRT_STDIO_INLINE
1024  ;
1025  #else
1026  {
1027  int _Result;
1028  va_list _ArgList;
1029  __crt_va_start(_ArgList, _Format);
1030  _Result = _vfprintf_p_l(stdout, _Format, NULL, _ArgList);
1031  __crt_va_end(_ArgList);
1032  return _Result;
1033  }
1034  #endif
1035 
1036 
1037  //-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
1038  //
1039  // Narrow Character Formatted Input Functions (Stream)
1040  //
1041  //-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
1042  _ACRTIMP int __cdecl __stdio_common_vfscanf(
1043  _In_ unsigned __int64 _Options,
1044  _Inout_ FILE* _Stream,
1045  _In_z_ _Scanf_format_string_params_(2) char const* _Format,
1046  _In_opt_ _locale_t _Locale,
1047  va_list _Arglist
1048  );
1049 
1052  _Inout_ FILE* const _Stream,
1053  _In_z_ _Printf_format_string_ char const* const _Format,
1054  _In_opt_ _locale_t const _Locale,
1055  va_list _ArgList
1056  )
1057  #if defined _NO_CRT_STDIO_INLINE
1058  ;
1059  #else
1060  {
1061  return __stdio_common_vfscanf(
1063  _Stream, _Format, _Locale, _ArgList);
1064  }
1065  #endif
1066 
1069  _Inout_ FILE* const _Stream,
1070  _In_z_ _Printf_format_string_ char const* const _Format,
1071  va_list _ArgList
1072  )
1073  #if defined _NO_CRT_STDIO_INLINE
1074  ;
1075  #else
1076  {
1077  return _vfscanf_l(_Stream, _Format, NULL, _ArgList);
1078  }
1079  #endif
1080 
1083  _Inout_ FILE* const _Stream,
1084  _In_z_ _Printf_format_string_ char const* const _Format,
1085  _In_opt_ _locale_t const _Locale,
1086  va_list _ArgList
1087  )
1088  #if defined _NO_CRT_STDIO_INLINE
1089  ;
1090  #else
1091  {
1092  return __stdio_common_vfscanf(
1094  _Stream, _Format, _Locale, _ArgList);
1095  }
1096  #endif
1097 
1098 
1099  #if __STDC_WANT_SECURE_LIB__
1100 
1103  _Inout_ FILE* const _Stream,
1104  _In_z_ _Printf_format_string_ char const* const _Format,
1105  va_list _ArgList
1106  )
1107  #if defined _NO_CRT_STDIO_INLINE
1108  ;
1109  #else
1110  {
1111  return _vfscanf_s_l(_Stream, _Format, NULL, _ArgList);
1112  }
1113  #endif
1114 
1115  #endif
1116 
1119  _In_z_ _Printf_format_string_ char const* const _Format,
1120  _In_opt_ _locale_t const _Locale,
1121  va_list _ArgList
1122  )
1123  #if defined _NO_CRT_STDIO_INLINE
1124  ;
1125  #else
1126  {
1127  return _vfscanf_l(stdin, _Format, _Locale, _ArgList);
1128  }
1129  #endif
1130 
1133  _In_z_ _Printf_format_string_ char const* const _Format,
1134  va_list _ArgList
1135  )
1136  #if defined _NO_CRT_STDIO_INLINE
1137  ;
1138  #else
1139  {
1140  return _vfscanf_l(stdin, _Format, NULL, _ArgList);
1141  }
1142  #endif
1143 
1146  _In_z_ _Printf_format_string_ char const* const _Format,
1147  _In_opt_ _locale_t const _Locale,
1148  va_list _ArgList
1149  )
1150  #if defined _NO_CRT_STDIO_INLINE
1151  ;
1152  #else
1153  {
1154  return _vfscanf_s_l(stdin, _Format, _Locale, _ArgList);
1155  }
1156  #endif
1157 
1158  #if __STDC_WANT_SECURE_LIB__
1159 
1162  _In_z_ _Printf_format_string_ char const* const _Format,
1163  va_list _ArgList
1164  )
1165  #if defined _NO_CRT_STDIO_INLINE
1166  ;
1167  #else
1168  {
1169  return _vfscanf_s_l(stdin, _Format, NULL, _ArgList);
1170  }
1171  #endif
1172 
1173  #endif
1174 
1176  _CRT_STDIO_INLINE int __CRTDECL _fscanf_l(
1177  _Inout_ FILE* const _Stream,
1178  _In_z_ _Scanf_format_string_params_(0) char const* const _Format,
1179  _In_opt_ _locale_t const _Locale,
1180  ...)
1181  #if defined _NO_CRT_STDIO_INLINE // SCANF
1182  ;
1183  #else
1184  {
1185  int _Result;
1186  va_list _ArgList;
1187  __crt_va_start(_ArgList, _Locale);
1188  _Result = _vfscanf_l(_Stream, _Format, _Locale, _ArgList);
1189  __crt_va_end(_ArgList);
1190  return _Result;
1191  }
1192  #endif
1193 
1195  _CRT_STDIO_INLINE int __CRTDECL fscanf(
1196  _Inout_ FILE* const _Stream,
1197  _In_z_ _Scanf_format_string_ char const* const _Format,
1198  ...)
1199  #if defined _NO_CRT_STDIO_INLINE // SCANF
1200  ;
1201  #else
1202  {
1203  int _Result;
1204  va_list _ArgList;
1205  __crt_va_start(_ArgList, _Format);
1206  _Result = _vfscanf_l(_Stream, _Format, NULL, _ArgList);
1207  __crt_va_end(_ArgList);
1208  return _Result;
1209  }
1210  #endif
1211 
1214  _Inout_ FILE* const _Stream,
1215  _In_z_ _Scanf_s_format_string_params_(0) char const* const _Format,
1216  _In_opt_ _locale_t const _Locale,
1217  ...)
1218  #if defined _NO_CRT_STDIO_INLINE // SCANF
1219  ;
1220  #else
1221  {
1222  int _Result;
1223  va_list _ArgList;
1224  __crt_va_start(_ArgList, _Locale);
1225  _Result = _vfscanf_s_l(_Stream, _Format, _Locale, _ArgList);
1226  __crt_va_end(_ArgList);
1227  return _Result;
1228  }
1229  #endif
1230 
1231  #if __STDC_WANT_SECURE_LIB__
1232 
1235  _Inout_ FILE* const _Stream,
1236  _In_z_ _Scanf_s_format_string_ char const* const _Format,
1237  ...)
1238  #if defined _NO_CRT_STDIO_INLINE // SCANF
1239  ;
1240  #else
1241  {
1242  int _Result;
1243  va_list _ArgList;
1244  __crt_va_start(_ArgList, _Format);
1245  _Result = _vfscanf_s_l(_Stream, _Format, NULL, _ArgList);
1246  __crt_va_end(_ArgList);
1247  return _Result;
1248  }
1249  #endif
1250 
1251  #endif
1252 
1254  _CRT_STDIO_INLINE int __CRTDECL _scanf_l(
1255  _In_z_ _Scanf_format_string_params_(0) char const* const _Format,
1256  _In_opt_ _locale_t const _Locale,
1257  ...)
1258  #if defined _NO_CRT_STDIO_INLINE // SCANF
1259  ;
1260  #else
1261  {
1262  int _Result;
1263  va_list _ArgList;
1264  __crt_va_start(_ArgList, _Locale);
1265  _Result = _vfscanf_l(stdin, _Format, _Locale, _ArgList);
1266  __crt_va_end(_ArgList);
1267  return _Result;
1268  }
1269  #endif
1270 
1272  _CRT_STDIO_INLINE int __CRTDECL scanf(
1273  _In_z_ _Scanf_format_string_ char const* const _Format,
1274  ...)
1275  #if defined _NO_CRT_STDIO_INLINE // SCANF
1276  ;
1277  #else
1278  {
1279  int _Result;
1280  va_list _ArgList;
1281  __crt_va_start(_ArgList, _Format);
1282  _Result = _vfscanf_l(stdin, _Format, NULL, _ArgList);
1283  __crt_va_end(_ArgList);
1284  return _Result;
1285  }
1286  #endif
1287 
1290  _In_z_ _Scanf_s_format_string_params_(0) char const* const _Format,
1291  _In_opt_ _locale_t const _Locale,
1292  ...)
1293  #if defined _NO_CRT_STDIO_INLINE // SCANF
1294  ;
1295  #else
1296  {
1297  int _Result;
1298  va_list _ArgList;
1299  __crt_va_start(_ArgList, _Locale);
1300  _Result = _vfscanf_s_l(stdin, _Format, _Locale, _ArgList);
1301  __crt_va_end(_ArgList);
1302  return _Result;
1303  }
1304  #endif
1305 
1306  #if __STDC_WANT_SECURE_LIB__
1307 
1310  _In_z_ _Scanf_s_format_string_ char const* const _Format,
1311  ...)
1312  #if defined _NO_CRT_STDIO_INLINE // SCANF
1313  ;
1314  #else
1315  {
1316  int _Result;
1317  va_list _ArgList;
1318  __crt_va_start(_ArgList, _Format);
1319  _Result = _vfscanf_s_l(stdin, _Format, NULL, _ArgList);
1320  __crt_va_end(_ArgList);
1321  return _Result;
1322  }
1323  #endif
1324 
1325  #endif
1326 
1327 
1328 
1329  //-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
1330  //
1331  // Narrow Character Formatted Output Functions (String)
1332  //
1333  //-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
1334  _Success_(return >= 0)
1335  _ACRTIMP int __cdecl __stdio_common_vsprintf(
1336  _In_ unsigned __int64 _Options,
1337  _Out_writes_opt_z_(_BufferCount) char* _Buffer,
1339  _In_z_ _Printf_format_string_params_(2) char const* _Format,
1340  _In_opt_ _locale_t _Locale,
1341  va_list _ArgList
1342  );
1343 
1344  _Success_(return >= 0)
1345  _ACRTIMP int __cdecl __stdio_common_vsprintf_s(
1346  _In_ unsigned __int64 _Options,
1347  _Out_writes_z_(_BufferCount) char* _Buffer,
1348  _In_ size_t _BufferCount,
1349  _In_z_ _Printf_format_string_params_(2) char const* _Format,
1350  _In_opt_ _locale_t _Locale,
1351  va_list _ArgList
1352  );
1353 
1354  _Success_(return >= 0)
1355  _ACRTIMP int __cdecl __stdio_common_vsnprintf_s(
1356  _In_ unsigned __int64 _Options,
1357  _Out_writes_opt_z_(_BufferCount) char* _Buffer,
1358  _In_ size_t _BufferCount,
1359  _In_ size_t _MaxCount,
1360  _In_z_ _Printf_format_string_params_(2) char const* _Format,
1361  _In_opt_ _locale_t _Locale,
1362  va_list _ArgList
1363  );
1364 
1365  _Success_(return >= 0)
1366  _ACRTIMP int __cdecl __stdio_common_vsprintf_p(
1367  _In_ unsigned __int64 _Options,
1368  _Out_writes_z_(_BufferCount) char* _Buffer,
1369  _In_ size_t _BufferCount,
1370  _In_z_ _Printf_format_string_params_(2) char const* _Format,
1371  _In_opt_ _locale_t _Locale,
1372  va_list _ArgList
1373  );
1374 
1375  _Success_(return >= 0)
1376  _Check_return_opt_ _CRT_INSECURE_DEPRECATE(_vsnprintf_s_l)
1377  _CRT_STDIO_INLINE int __CRTDECL _vsnprintf_l(
1378  _Out_writes_opt_(_BufferCount) _Post_maybez_ char* const _Buffer,
1379  _In_ size_t const _BufferCount,
1380  _In_z_ _Printf_format_string_params_(2) char const* const _Format,
1381  _In_opt_ _locale_t const _Locale,
1382  va_list _ArgList
1383  )
1384  #if defined _NO_CRT_STDIO_INLINE
1385  ;
1386  #else
1387  {
1388  int const _Result = __stdio_common_vsprintf(
1390  _Buffer, _BufferCount, _Format, _Locale, _ArgList);
1391 
1392  return _Result < 0 ? -1 : _Result;
1393  }
1394  #endif
1395 
1396  _Success_(return >= 0)
1398  _CRT_STDIO_INLINE int __CRTDECL _vsnprintf(
1399  _Out_writes_opt_(_BufferCount) _Post_maybez_ char* const _Buffer,
1400  _In_ size_t const _BufferCount,
1401  _In_z_ _Printf_format_string_ char const* const _Format,
1402  va_list _ArgList
1403  )
1404  #if defined _NO_CRT_STDIO_INLINE
1405  ;
1406  #else
1407  {
1408  #pragma warning(push)
1409  #pragma warning(disable: 4996) // Deprecation
1410  return _vsnprintf_l(_Buffer, _BufferCount, _Format, NULL, _ArgList);
1411  #pragma warning(pop)
1412  }
1413  #endif
1414 
1415  #if defined vsnprintf
1416  // This definition of vsnprintf will generate "warning C4005: 'vsnprintf': macro
1417  // redefinition" with a subsequent line indicating where the previous definition
1418  // of vsnprintf was. This makes it easier to find where vsnprintf was defined.
1419  #pragma warning(push, 1)
1420  #pragma warning(1: 4005)
1421  #define vsnprintf Do not define vsnprintf as a macro
1422  #pragma warning(pop)
1423  #error Macro definition of vsnprintf conflicts with Standard Library function declaration
1424  #endif
1425 
1426  _Success_(return >= 0)
1428  _CRT_STDIO_INLINE int __CRTDECL vsnprintf(
1429  _Out_writes_opt_(_BufferCount) _Always_(_Post_z_) char* const _Buffer,
1430  _In_ size_t const _BufferCount,
1431  _In_z_ _Printf_format_string_ char const* const _Format,
1432  va_list _ArgList
1433  )
1434  #if defined _NO_CRT_STDIO_INLINE
1435  ;
1436  #else
1437  {
1438  int const _Result = __stdio_common_vsprintf(
1440  _Buffer, _BufferCount, _Format, NULL, _ArgList);
1441 
1442  return _Result < 0 ? -1 : _Result;
1443  }
1444  #endif
1445 
1446  _Success_(return >= 0)
1447  _Check_return_opt_ _CRT_INSECURE_DEPRECATE(_vsprintf_s_l)
1448  _CRT_STDIO_INLINE int __CRTDECL _vsprintf_l(
1449  _Pre_notnull_ _Always_(_Post_z_) char* const _Buffer,
1450  _In_z_ char const* const _Format,
1451  _In_opt_ _locale_t const _Locale,
1452  va_list _ArgList
1453  )
1454  #if defined _NO_CRT_STDIO_INLINE
1455  ;
1456  #else
1457  {
1458  #pragma warning(push)
1459  #pragma warning(disable: 4996) // Deprecation
1460  return _vsnprintf_l(_Buffer, (size_t)-1, _Format, _Locale, _ArgList);
1461  #pragma warning(pop)
1462  }
1463  #endif
1464 
1465  _Success_(return >= 0)
1466  _Check_return_opt_ _CRT_INSECURE_DEPRECATE(vsprintf_s)
1467  _CRT_STDIO_INLINE int __CRTDECL vsprintf(
1468  _Pre_notnull_ _Always_(_Post_z_) char* const _Buffer,
1469  _In_z_ _Printf_format_string_ char const* const _Format,
1470  va_list _ArgList
1471  )
1472  #if defined _NO_CRT_STDIO_INLINE
1473  ;
1474  #else
1475  {
1476  #pragma warning(push)
1477  #pragma warning(disable: 4996) // Deprecation
1478  return _vsnprintf_l(_Buffer, (size_t)-1, _Format, NULL, _ArgList);
1479  #pragma warning(pop)
1480  }
1481  #endif
1482 
1483  _Success_(return >= 0)
1485  _CRT_STDIO_INLINE int __CRTDECL _vsprintf_s_l(
1486  _Out_writes_(_BufferCount) _Always_(_Post_z_) char* const _Buffer,
1487  _In_ size_t const _BufferCount,
1488  _In_z_ _Printf_format_string_params_(2) char const* const _Format,
1489  _In_opt_ _locale_t const _Locale,
1490  va_list _ArgList
1491  )
1492  #if defined _NO_CRT_STDIO_INLINE
1493  ;
1494  #else
1495  {
1496  int const _Result = __stdio_common_vsprintf_s(
1498  _Buffer, _BufferCount, _Format, _Locale, _ArgList);
1499 
1500  return _Result < 0 ? -1 : _Result;
1501  }
1502  #endif
1503 
1504  #if __STDC_WANT_SECURE_LIB__
1505 
1506  _Success_(return >= 0)
1508  _CRT_STDIO_INLINE int __CRTDECL vsprintf_s(
1509  _Out_writes_(_BufferCount) _Always_(_Post_z_) char* const _Buffer,
1510  _In_ size_t const _BufferCount,
1511  _In_z_ _Printf_format_string_ char const* const _Format,
1512  va_list _ArgList
1513  )
1514  #if defined _NO_CRT_STDIO_INLINE
1515  ;
1516  #else
1517  {
1518  return _vsprintf_s_l(_Buffer, _BufferCount, _Format, NULL, _ArgList);
1519  }
1520  #endif
1521 
1523  _Success_(return >= 0)
1524  int, vsprintf_s,
1525  _Always_(_Post_z_) char, _Buffer,
1526  _In_z_ _Printf_format_string_ char const*, _Format,
1527  va_list, _ArgList
1528  )
1529 
1530  #endif
1531 
1532  _Success_(return >= 0)
1534  _CRT_STDIO_INLINE int __CRTDECL _vsprintf_p_l(
1535  _Out_writes_(_BufferCount) _Always_(_Post_z_) char* const _Buffer,
1536  _In_ size_t const _BufferCount,
1537  _In_z_ _Printf_format_string_params_(2) char const* const _Format,
1538  _In_opt_ _locale_t const _Locale,
1539  va_list _ArgList
1540  )
1541  #if defined _NO_CRT_STDIO_INLINE
1542  ;
1543  #else
1544  {
1545  int const _Result = __stdio_common_vsprintf_p(
1547  _Buffer, _BufferCount, _Format, _Locale, _ArgList);
1548 
1549  return _Result < 0 ? -1 : _Result;
1550  }
1551  #endif
1552 
1553  _Success_(return >= 0)
1555  _CRT_STDIO_INLINE int __CRTDECL _vsprintf_p(
1556  _Out_writes_(_BufferCount) _Always_(_Post_z_) char* const _Buffer,
1557  _In_ size_t const _BufferCount,
1558  _In_z_ _Printf_format_string_ char const* const _Format,
1559  va_list _ArgList
1560  )
1561  #if defined _NO_CRT_STDIO_INLINE
1562  ;
1563  #else
1564  {
1565  return _vsprintf_p_l(_Buffer, _BufferCount, _Format, NULL, _ArgList);
1566  }
1567  #endif
1568 
1569  _Success_(return >= 0)
1571  _CRT_STDIO_INLINE int __CRTDECL _vsnprintf_s_l(
1572  _Out_writes_opt_(_BufferCount) _Always_(_Post_z_) char* const _Buffer,
1573  _In_ size_t const _BufferCount,
1574  _In_ size_t const _MaxCount,
1575  _In_z_ _Printf_format_string_params_(2) char const* const _Format,
1576  _In_opt_ _locale_t const _Locale,
1577  va_list _ArgList
1578  )
1579  #if defined _NO_CRT_STDIO_INLINE
1580  ;
1581  #else
1582  {
1583  int const _Result = __stdio_common_vsnprintf_s(
1585  _Buffer, _BufferCount, _MaxCount, _Format, _Locale, _ArgList);
1586 
1587  return _Result < 0 ? -1 : _Result;
1588  }
1589  #endif
1590 
1591  _Success_(return >= 0)
1593  _CRT_STDIO_INLINE int __CRTDECL _vsnprintf_s(
1594  _Out_writes_opt_(_BufferCount) _Always_(_Post_z_) char* const _Buffer,
1595  _In_ size_t const _BufferCount,
1596  _In_ size_t const _MaxCount,
1597  _In_z_ _Printf_format_string_ char const* const _Format,
1598  va_list _ArgList
1599  )
1600  #if defined _NO_CRT_STDIO_INLINE
1601  ;
1602  #else
1603  {
1604  return _vsnprintf_s_l(_Buffer, _BufferCount, _MaxCount, _Format, NULL, _ArgList);
1605  }
1606  #endif
1607 
1609  _Success_(return >= 0)
1610  int, _vsnprintf_s,
1611  _Always_(_Post_z_) char, _Buffer,
1612  _In_ size_t, _BufferCount,
1613  _In_z_ _Printf_format_string_ char const*, _Format,
1614  va_list, _ArgList
1615  )
1616 
1617  #if __STDC_WANT_SECURE_LIB__
1618 
1619  _Success_(return >= 0)
1621  _CRT_STDIO_INLINE int __CRTDECL vsnprintf_s(
1622  _Out_writes_opt_(_BufferCount) _Always_(_Post_z_) char* const _Buffer,
1623  _In_ size_t const _BufferCount,
1624  _In_ size_t const _MaxCount,
1625  _In_z_ _Printf_format_string_ char const* const _Format,
1626  va_list _ArgList
1627  )
1628  #if defined _NO_CRT_STDIO_INLINE
1629  ;
1630  #else
1631  {
1632  return _vsnprintf_s_l(_Buffer, _BufferCount, _MaxCount, _Format, NULL, _ArgList);
1633  }
1634  #endif
1635 
1637  _Success_(return >= 0)
1638  int, vsnprintf_s,
1639  _Always_(_Post_z_) char, _Buffer,
1640  _In_ size_t, _BufferCount,
1641  _In_z_ _Printf_format_string_ char const*, _Format,
1642  va_list, _ArgList
1643  )
1644 
1645  #endif
1646 
1648  _CRT_STDIO_INLINE int __CRTDECL _vscprintf_l(
1649  _In_z_ _Printf_format_string_params_(2) char const* const _Format,
1650  _In_opt_ _locale_t const _Locale,
1651  va_list _ArgList
1652  )
1653  #if defined _NO_CRT_STDIO_INLINE
1654  ;
1655  #else
1656  {
1657  int const _Result = __stdio_common_vsprintf(
1659  NULL, 0, _Format, _Locale, _ArgList);
1660 
1661  return _Result < 0 ? -1 : _Result;
1662  }
1663  #endif
1664 
1666  _CRT_STDIO_INLINE int __CRTDECL _vscprintf(
1667  _In_z_ _Printf_format_string_ char const* const _Format,
1668  va_list _ArgList
1669  )
1670  #if defined _NO_CRT_STDIO_INLINE
1671  ;
1672  #else
1673  {
1674  return _vscprintf_l(_Format, NULL, _ArgList);
1675  }
1676  #endif
1677 
1679  _CRT_STDIO_INLINE int __CRTDECL _vscprintf_p_l(
1680  _In_z_ _Printf_format_string_params_(2) char const* const _Format,
1681  _In_opt_ _locale_t const _Locale,
1682  va_list _ArgList
1683  )
1684  #if defined _NO_CRT_STDIO_INLINE
1685  ;
1686  #else
1687  {
1688  int const _Result = __stdio_common_vsprintf_p(
1690  NULL, 0, _Format, _Locale, _ArgList);
1691 
1692  return _Result < 0 ? -1 : _Result;
1693  }
1694  #endif
1695 
1697  _CRT_STDIO_INLINE int __CRTDECL _vscprintf_p(
1698  _In_z_ _Printf_format_string_ char const* const _Format,
1699  va_list _ArgList
1700  )
1701  #if defined _NO_CRT_STDIO_INLINE
1702  ;
1703  #else
1704  {
1705  return _vscprintf_p_l(_Format, NULL, _ArgList);
1706  }
1707  #endif
1708 
1710  _CRT_STDIO_INLINE int __CRTDECL _vsnprintf_c_l(
1711  _Out_writes_opt_(_BufferCount) char* const _Buffer,
1712  _In_ size_t const _BufferCount,
1713  _In_z_ _Printf_format_string_params_(2) char const* const _Format,
1714  _In_opt_ _locale_t const _Locale,
1715  va_list _ArgList
1716  )
1717  #if defined _NO_CRT_STDIO_INLINE
1718  ;
1719  #else
1720  {
1721  int const _Result = __stdio_common_vsprintf(
1723  _Buffer, _BufferCount, _Format, _Locale, _ArgList);
1724 
1725  return _Result < 0 ? -1 : _Result;
1726  }
1727  #endif
1728 
1729  _Success_(return >= 0)
1731  _CRT_STDIO_INLINE int __CRTDECL _vsnprintf_c(
1732  _Out_writes_opt_(_BufferCount) char* const _Buffer,
1733  _In_ size_t const _BufferCount,
1734  _In_z_ _Printf_format_string_ char const* const _Format,
1735  va_list _ArgList
1736  )
1737  #if defined _NO_CRT_STDIO_INLINE
1738  ;
1739  #else
1740  {
1741  return _vsnprintf_c_l(_Buffer, _BufferCount, _Format, NULL, _ArgList);
1742  }
1743  #endif
1744 
1745  _Success_(return >= 0)
1746  _Check_return_opt_ _CRT_INSECURE_DEPRECATE(_sprintf_s_l)
1747  _CRT_STDIO_INLINE int __CRTDECL _sprintf_l(
1748  _Pre_notnull_ _Always_(_Post_z_) char* const _Buffer,
1749  _In_z_ _Printf_format_string_params_(0) char const* const _Format,
1750  _In_opt_ _locale_t const _Locale,
1751  ...)
1752  #if defined _NO_CRT_STDIO_INLINE
1753  ;
1754  #else
1755  {
1756  int _Result;
1757  va_list _ArgList;
1758  __crt_va_start(_ArgList, _Locale);
1759 
1760  #pragma warning(push)
1761  #pragma warning(disable: 4996) // Deprecation
1762  _Result = _vsprintf_l(_Buffer, _Format, _Locale, _ArgList);
1763  #pragma warning(pop)
1764 
1765  __crt_va_end(_ArgList);
1766  return _Result;
1767  }
1768  #endif
1769 
1770  _Success_(return >= 0)
1772  _CRT_STDIO_INLINE int __CRTDECL sprintf(
1773  _Pre_notnull_ _Always_(_Post_z_) char* const _Buffer,
1774  _In_z_ _Printf_format_string_ char const* const _Format,
1775  ...)
1776  #if defined _NO_CRT_STDIO_INLINE
1777  ;
1778  #else
1779  {
1780  int _Result;
1781  va_list _ArgList;
1782  __crt_va_start(_ArgList, _Format);
1783 
1784  #pragma warning(push)
1785  #pragma warning(disable: 4996) // Deprecation
1786  _Result = _vsprintf_l(_Buffer, _Format, NULL, _ArgList);
1787  #pragma warning(pop)
1788 
1789  __crt_va_end(_ArgList);
1790  return _Result;
1791  }
1792  #endif
1793 
1794  #pragma warning(push)
1795  #pragma warning(disable: 4996)
1796  #pragma warning(disable: 28719) // __WARNING_BANNED_API_USAGE
1797  #pragma warning(disable: 28726) // __WARNING_BANNED_API_USAGEL2
1799  _Success_(return >= 0)
1800  int, __RETURN_POLICY_SAME, __EMPTY_DECLSPEC, __CRTDECL, sprintf, vsprintf,
1801  _Pre_notnull_ _Always_(_Post_z_), char, _Buffer,
1802  _In_z_ _Printf_format_string_ char const*, _Format
1803  )
1804  #pragma warning(pop)
1805 
1806  _Success_(return >= 0)
1808  _CRT_STDIO_INLINE int __CRTDECL _sprintf_s_l(
1809  _Out_writes_(_BufferCount) _Always_(_Post_z_) char* const _Buffer,
1810  _In_ size_t const _BufferCount,
1811  _In_z_ _Printf_format_string_params_(0) char const* const _Format,
1812  _In_opt_ _locale_t const _Locale,
1813  ...)
1814  #if defined _NO_CRT_STDIO_INLINE
1815  ;
1816  #else
1817  {
1818  int _Result;
1819  va_list _ArgList;
1820  __crt_va_start(_ArgList, _Locale);
1821  _Result = _vsprintf_s_l(_Buffer, _BufferCount, _Format, _Locale, _ArgList);
1822  __crt_va_end(_ArgList);
1823  return _Result;
1824  }
1825  #endif
1826 
1827  #if __STDC_WANT_SECURE_LIB__
1828 
1829  _Success_(return >= 0)
1831  _CRT_STDIO_INLINE int __CRTDECL sprintf_s(
1832  _Out_writes_(_BufferCount) _Always_(_Post_z_) char* const _Buffer,
1833  _In_ size_t const _BufferCount,
1834  _In_z_ _Printf_format_string_ char const* const _Format,
1835  ...)
1836  #if defined _NO_CRT_STDIO_INLINE
1837  ;
1838  #else
1839  {
1840  int _Result;
1841  va_list _ArgList;
1842  __crt_va_start(_ArgList, _Format);
1843  _Result = _vsprintf_s_l(_Buffer, _BufferCount, _Format, NULL, _ArgList);
1844  __crt_va_end(_ArgList);
1845  return _Result;
1846  }
1847  #endif
1848 
1849  #endif
1850 
1852  _Success_(return >= 0)
1853  int, sprintf_s, vsprintf_s,
1854  _Always_(_Post_z_) char, _Buffer,
1855  _In_z_ _Printf_format_string_ char const*, _Format
1856  )
1857 
1858  _Success_(return >= 0)
1860  _CRT_STDIO_INLINE int __CRTDECL _sprintf_p_l(
1861  _Out_writes_(_BufferCount) _Always_(_Post_z_) char* const _Buffer,
1862  _In_ size_t const _BufferCount,
1863  _In_z_ _Printf_format_string_params_(0) char const* const _Format,
1864  _In_opt_ _locale_t const _Locale,
1865  ...)
1866  #if defined _NO_CRT_STDIO_INLINE
1867  ;
1868  #else
1869  {
1870  int _Result;
1871  va_list _ArgList;
1872  __crt_va_start(_ArgList, _Locale);
1873  _Result = _vsprintf_p_l(_Buffer, _BufferCount, _Format, _Locale, _ArgList);
1874  __crt_va_end(_ArgList);
1875  return _Result;
1876  }
1877  #endif
1878 
1879  _Success_(return >= 0)
1881  _CRT_STDIO_INLINE int __CRTDECL _sprintf_p(
1882  _Out_writes_(_BufferCount) _Always_(_Post_z_) char* const _Buffer,
1883  _In_ size_t const _BufferCount,
1884  _In_z_ _Printf_format_string_ char const* const _Format,
1885  ...)
1886  #if defined _NO_CRT_STDIO_INLINE
1887  ;
1888  #else
1889  {
1890  int _Result;
1891  va_list _ArgList;
1892  __crt_va_start(_ArgList, _Format);
1893  _Result = _vsprintf_p_l(_Buffer, _BufferCount, _Format, NULL, _ArgList);
1894  __crt_va_end(_ArgList);
1895  return _Result;
1896  }
1897  #endif
1898 
1899  _Success_(return >= 0)
1900  _Check_return_opt_ _CRT_INSECURE_DEPRECATE(_snprintf_s_l)
1901  _CRT_STDIO_INLINE int __CRTDECL _snprintf_l(
1902  _Out_writes_opt_(_BufferCount) _Post_maybez_ char* const _Buffer,
1903  _In_ size_t const _BufferCount,
1904  _In_z_ _Printf_format_string_params_(0) char const* const _Format,
1905  _In_opt_ _locale_t const _Locale,
1906  ...)
1907  #if defined _NO_CRT_STDIO_INLINE
1908  ;
1909  #else
1910  {
1911  int _Result;
1912  va_list _ArgList;
1913  __crt_va_start(_ArgList, _Locale);
1914 
1915  #pragma warning(push)
1916  #pragma warning(disable: 4996) // Deprecation
1917  _Result = _vsnprintf_l(_Buffer, _BufferCount, _Format, _Locale, _ArgList);
1918  #pragma warning(pop)
1919 
1920  __crt_va_end(_ArgList);
1921  return _Result;
1922  }
1923  #endif
1924 
1925  #if defined snprintf
1926  // This definition of snprintf will generate "warning C4005: 'snprintf': macro
1927  // redefinition" with a subsequent line indicating where the previous definition
1928  // of snprintf was. This makes it easier to find where snprintf was defined.
1929  #pragma warning(push, 1)
1930  #pragma warning(1: 4005)
1931  #define snprintf Do not define snprintf as a macro
1932  #pragma warning(pop)
1933  #error Macro definition of snprintf conflicts with Standard Library function declaration
1934  #endif
1935 
1936  _Success_(return >= 0)
1938  _CRT_STDIO_INLINE int __CRTDECL snprintf(
1939  _Out_writes_opt_(_BufferCount) _Always_(_Post_z_) char* const _Buffer,
1940  _In_ size_t const _BufferCount,
1941  _In_z_ _Printf_format_string_ char const* const _Format,
1942  ...)
1943  #if defined _NO_CRT_STDIO_INLINE
1944  ;
1945  #else
1946  {
1947  int _Result;
1948  va_list _ArgList;
1949  __crt_va_start(_ArgList, _Format);
1950  #pragma warning(suppress:28719) // 28719
1951  _Result = vsnprintf(_Buffer, _BufferCount, _Format, _ArgList);
1952  __crt_va_end(_ArgList);
1953  return _Result;
1954  }
1955  #endif
1956 
1957  _Success_(return >= 0)
1958  _CRT_STDIO_INLINE int __CRTDECL _snprintf(
1959  _Out_writes_opt_(_BufferCount) _Post_maybez_ char* const _Buffer,
1960  _In_ size_t const _BufferCount,
1961  _In_z_ _Printf_format_string_ char const* const _Format,
1962  ...)
1963  #if defined _NO_CRT_STDIO_INLINE
1964  ;
1965  #else
1966  {
1967  int _Result;
1968  va_list _ArgList;
1969  __crt_va_start(_ArgList, _Format);
1970  #pragma warning(suppress:28719) // 28719
1971  _Result = _vsnprintf(_Buffer, _BufferCount, _Format, _ArgList);
1972  __crt_va_end(_ArgList);
1973  return _Result;
1974  }
1975  #endif
1976 
1978  _Success_(return >= 0)
1979  int, __RETURN_POLICY_SAME, __EMPTY_DECLSPEC, __CRTDECL, _snprintf, _vsnprintf,
1981  _Out_writes_opt_(_BufferCount) _Post_maybez_, char, _Buffer,
1982  _In_ size_t, _BufferCount,
1983  _In_z_ _Printf_format_string_ char const*, _Format
1984  )
1985 
1986  _Success_(return >= 0)
1988  _CRT_STDIO_INLINE int __CRTDECL _snprintf_c_l(
1989  _Out_writes_opt_(_BufferCount) char* const _Buffer,
1990  _In_ size_t const _BufferCount,
1991  _In_z_ _Printf_format_string_params_(0) char const* const _Format,
1992  _In_opt_ _locale_t const _Locale,
1993  ...)
1994  #if defined _NO_CRT_STDIO_INLINE
1995  ;
1996  #else
1997  {
1998  int _Result;
1999  va_list _ArgList;
2000  __crt_va_start(_ArgList, _Locale);
2001  _Result = _vsnprintf_c_l(_Buffer, _BufferCount, _Format, _Locale, _ArgList);
2002  __crt_va_end(_ArgList);
2003  return _Result;
2004  }
2005  #endif
2006 
2007  _Success_(return >= 0)
2009  _CRT_STDIO_INLINE int __CRTDECL _snprintf_c(
2010  _Out_writes_opt_(_BufferCount) char* const _Buffer,
2011  _In_ size_t const _BufferCount,
2012  _In_z_ _Printf_format_string_ char const* const _Format,
2013  ...)
2014  #if defined _NO_CRT_STDIO_INLINE
2015  ;
2016  #else
2017  {
2018  int _Result;
2019  va_list _ArgList;
2020  __crt_va_start(_ArgList, _Format);
2021  _Result = _vsnprintf_c_l(_Buffer, _BufferCount, _Format, NULL, _ArgList);
2022  __crt_va_end(_ArgList);
2023  return _Result;
2024  }
2025  #endif
2026 
2027  _Success_(return >= 0)
2029  _CRT_STDIO_INLINE int __CRTDECL _snprintf_s_l(
2030  _Out_writes_opt_(_BufferCount) _Always_(_Post_z_) char* const _Buffer,
2031  _In_ size_t const _BufferCount,
2032  _In_ size_t const _MaxCount,
2033  _In_z_ _Printf_format_string_params_(0) char const* const _Format,
2034  _In_opt_ _locale_t const _Locale,
2035  ...)
2036  #if defined _NO_CRT_STDIO_INLINE
2037  ;
2038  #else
2039  {
2040  int _Result;
2041  va_list _ArgList;
2042  __crt_va_start(_ArgList, _Locale);
2043  _Result = _vsnprintf_s_l(_Buffer, _BufferCount, _MaxCount, _Format, _Locale, _ArgList);
2044  __crt_va_end(_ArgList);
2045  return _Result;
2046  }
2047  #endif
2048 
2049  _Success_(return >= 0)
2051  _CRT_STDIO_INLINE int __CRTDECL _snprintf_s(
2052  _Out_writes_opt_(_BufferCount) _Always_(_Post_z_) char* const _Buffer,
2053  _In_ size_t const _BufferCount,
2054  _In_ size_t const _MaxCount,
2055  _In_z_ _Printf_format_string_ char const* const _Format,
2056  ...)
2057  #if defined _NO_CRT_STDIO_INLINE
2058  ;
2059  #else
2060  {
2061  int _Result;
2062  va_list _ArgList;
2063  __crt_va_start(_ArgList, _Format);
2064  _Result = _vsnprintf_s_l(_Buffer, _BufferCount, _MaxCount, _Format, NULL, _ArgList);
2065  __crt_va_end(_ArgList);
2066  return _Result;
2067  }
2068  #endif
2069 
2071  _Success_(return >= 0)
2072  int, _snprintf_s, _vsnprintf_s,
2073  _Always_(_Post_z_) char, _Buffer,
2074  _In_ size_t, _BufferCount,
2075  _In_z_ _Printf_format_string_ char const*, _Format
2076  )
2077 
2079  _CRT_STDIO_INLINE int __CRTDECL _scprintf_l(
2080  _In_z_ _Printf_format_string_params_(0) char const* const _Format,
2081  _In_opt_ _locale_t const _Locale,
2082  ...)
2083  #if defined _NO_CRT_STDIO_INLINE
2084  ;
2085  #else
2086  {
2087  int _Result;
2088  va_list _ArgList;
2089  __crt_va_start(_ArgList, _Locale);
2090  _Result = _vscprintf_l(_Format, _Locale, _ArgList);
2091  __crt_va_end(_ArgList);
2092  return _Result;
2093  }
2094  #endif
2095 
2097  _CRT_STDIO_INLINE int __CRTDECL _scprintf(
2098  _In_z_ _Printf_format_string_ char const* const _Format,
2099  ...)
2100  #if defined _NO_CRT_STDIO_INLINE
2101  ;
2102  #else
2103  {
2104  int _Result;
2105  va_list _ArgList;
2106  __crt_va_start(_ArgList, _Format);
2107  _Result = _vscprintf_l(_Format, NULL, _ArgList);
2108  __crt_va_end(_ArgList);
2109  return _Result;
2110  }
2111  #endif
2112 
2114  _CRT_STDIO_INLINE int __CRTDECL _scprintf_p_l(
2115  _In_z_ _Printf_format_string_params_(0) char const* const _Format,
2116  _In_opt_ _locale_t const _Locale,
2117  ...)
2118  #if defined _NO_CRT_STDIO_INLINE
2119  ;
2120  #else
2121  {
2122  int _Result;
2123  va_list _ArgList;
2124  __crt_va_start(_ArgList, _Locale);
2125  _Result = _vscprintf_p_l(_Format, _Locale, _ArgList);
2126  __crt_va_end(_ArgList);
2127  return _Result;
2128  }
2129  #endif
2130 
2132  _CRT_STDIO_INLINE int __CRTDECL _scprintf_p(
2133  _In_z_ _Printf_format_string_ char const* const _Format,
2134  ...)
2135  #if defined _NO_CRT_STDIO_INLINE
2136  ;
2137  #else
2138  {
2139  int _Result;
2140  va_list _ArgList;
2141  __crt_va_start(_ArgList, _Format);
2142  _Result = _vscprintf_p(_Format, _ArgList);
2143  __crt_va_end(_ArgList);
2144  return _Result;
2145  }
2146  #endif
2147 
2148  //-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
2149  //
2150  // Narrow Character Formatted Input Functions (String)
2151  //
2152  //-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
2153  _ACRTIMP int __cdecl __stdio_common_vsscanf(
2154  _In_ unsigned __int64 _Options,
2155  _In_reads_(_BufferCount) _Pre_z_ char const* _Buffer,
2156  _In_ size_t _BufferCount,
2157  _In_z_ _Scanf_format_string_params_(2) char const* _Format,
2158  _In_opt_ _locale_t _Locale,
2159  va_list _ArgList
2160  );
2161 
2163  _CRT_STDIO_INLINE int __CRTDECL _vsscanf_l(
2164  _In_z_ char const* const _Buffer,
2165  _In_z_ _Printf_format_string_ char const* const _Format,
2166  _In_opt_ _locale_t const _Locale,
2167  va_list _ArgList
2168  )
2169  #if defined _NO_CRT_STDIO_INLINE
2170  ;
2171  #else
2172  {
2173  return __stdio_common_vsscanf(
2175  _Buffer, (size_t)-1, _Format, _Locale, _ArgList);
2176  }
2177  #endif
2178 
2180  _CRT_STDIO_INLINE int __CRTDECL vsscanf(
2181  _In_z_ char const* const _Buffer,
2182  _In_z_ _Printf_format_string_ char const* const _Format,
2183  va_list _ArgList
2184  )
2185  #if defined _NO_CRT_STDIO_INLINE
2186  ;
2187  #else
2188  {
2189  return _vsscanf_l(_Buffer, _Format, NULL, _ArgList);
2190  }
2191  #endif
2192 
2194  _CRT_STDIO_INLINE int __CRTDECL _vsscanf_s_l(
2195  _In_z_ char const* const _Buffer,
2196  _In_z_ _Printf_format_string_ char const* const _Format,
2197  _In_opt_ _locale_t const _Locale,
2198  va_list _ArgList
2199  )
2200  #if defined _NO_CRT_STDIO_INLINE
2201  ;
2202  #else
2203  {
2204  return __stdio_common_vsscanf(
2206  _Buffer, (size_t)-1, _Format, _Locale, _ArgList);
2207  }
2208  #endif
2209 
2210  #if __STDC_WANT_SECURE_LIB__
2211 
2212  #pragma warning(push)
2213  #pragma warning(disable:6530)
2214 
2216  _CRT_STDIO_INLINE int __CRTDECL vsscanf_s(
2217  _In_z_ char const* const _Buffer,
2218  _In_z_ _Printf_format_string_ char const* const _Format,
2219  va_list _ArgList
2220  )
2221  #if defined _NO_CRT_STDIO_INLINE
2222  ;
2223  #else
2224  {
2225  return _vsscanf_s_l(_Buffer, _Format, NULL, _ArgList);
2226  }
2227  #endif
2228 
2230  int, vsscanf_s,
2231  _In_z_ char const, _Buffer,
2232  _In_z_ _Printf_format_string_ char const*, _Format,
2233  va_list, _ArgList
2234  )
2235 
2236  #pragma warning(pop)
2237 
2238  #endif
2239 
2241  _CRT_STDIO_INLINE int __CRTDECL _sscanf_l(
2242  _In_z_ char const* const _Buffer,
2243  _In_z_ _Scanf_format_string_params_(0) char const* const _Format,
2244  _In_opt_ _locale_t const _Locale,
2245  ...)
2246  #if defined _NO_CRT_STDIO_INLINE // SCANF
2247  ;
2248  #else
2249  {
2250  int _Result;
2251  va_list _ArgList;
2252  __crt_va_start(_ArgList, _Locale);
2253  _Result = _vsscanf_l(_Buffer, _Format, _Locale, _ArgList);
2254  __crt_va_end(_ArgList);
2255  return _Result;
2256  }
2257  #endif
2258 
2260  _CRT_STDIO_INLINE int __CRTDECL sscanf(
2261  _In_z_ char const* const _Buffer,
2262  _In_z_ _Scanf_format_string_ char const* const _Format,
2263  ...)
2264  #if defined _NO_CRT_STDIO_INLINE // SCANF
2265  ;
2266  #else
2267  {
2268  int _Result;
2269  va_list _ArgList;
2270  __crt_va_start(_ArgList, _Format);
2271  _Result = _vsscanf_l(_Buffer, _Format, NULL, _ArgList);
2272  __crt_va_end(_ArgList);
2273  return _Result;
2274  }
2275  #endif
2276 
2278  _CRT_STDIO_INLINE int __CRTDECL _sscanf_s_l(
2279  _In_z_ char const* const _Buffer,
2280  _In_z_ _Scanf_s_format_string_params_(0) char const* const _Format,
2281  _In_opt_ _locale_t const _Locale,
2282  ...)
2283  #if defined _NO_CRT_STDIO_INLINE // SCANF
2284  ;
2285  #else
2286  {
2287  int _Result;
2288  va_list _ArgList;
2289  __crt_va_start(_ArgList, _Locale);
2290  _Result = _vsscanf_s_l(_Buffer, _Format, _Locale, _ArgList);
2291  __crt_va_end(_ArgList);
2292  return _Result;
2293  }
2294  #endif
2295 
2296  #if __STDC_WANT_SECURE_LIB__
2297 
2299  _CRT_STDIO_INLINE int __CRTDECL sscanf_s(
2300  _In_z_ char const* const _Buffer,
2301  _In_z_ _Scanf_s_format_string_ char const* const _Format,
2302  ...)
2303  #if defined _NO_CRT_STDIO_INLINE // SCANF
2304  ;
2305  #else
2306  {
2307  int _Result;
2308  va_list _ArgList;
2309  __crt_va_start(_ArgList, _Format);
2310 
2311  #pragma warning(push)
2312  #pragma warning(disable: 4996) // Deprecation
2313  _Result = vsscanf_s(_Buffer, _Format, _ArgList);
2314  #pragma warning(pop)
2315 
2316  __crt_va_end(_ArgList);
2317  return _Result;
2318  }
2319  #endif
2320 
2321  #endif
2322 
2323  #pragma warning(push)
2324  #pragma warning(disable:6530)
2325 
2327  _CRT_STDIO_INLINE int __CRTDECL _snscanf_l(
2328  _In_reads_bytes_(_BufferCount) _Pre_z_ char const* const _Buffer,
2329  _In_ size_t const _BufferCount,
2330  _In_z_ _Scanf_format_string_params_(0) char const* const _Format,
2331  _In_opt_ _locale_t const _Locale,
2332  ...)
2333  #if defined _NO_CRT_STDIO_INLINE // SCANF
2334  ;
2335  #else
2336  {
2337  int _Result;
2338  va_list _ArgList;
2339  __crt_va_start(_ArgList, _Locale);
2340 
2341  _Result = __stdio_common_vsscanf(
2343  _Buffer, _BufferCount, _Format, _Locale, _ArgList);
2344 
2345  __crt_va_end(_ArgList);
2346  return _Result;
2347  }
2348  #endif
2349 
2351  _CRT_STDIO_INLINE int __CRTDECL _snscanf(
2352  _In_reads_bytes_(_BufferCount) _Pre_z_ char const* const _Buffer,
2353  _In_ size_t const _BufferCount,
2354  _In_z_ _Scanf_format_string_ char const* const _Format,
2355  ...)
2356  #if defined _NO_CRT_STDIO_INLINE // SCANF
2357  ;
2358  #else
2359  {
2360  int _Result;
2361  va_list _ArgList;
2362  __crt_va_start(_ArgList, _Format);
2363 
2364  _Result = __stdio_common_vsscanf(
2366  _Buffer, _BufferCount, _Format, NULL, _ArgList);
2367 
2368  __crt_va_end(_ArgList);
2369  return _Result;
2370  }
2371  #endif
2372 
2373 
2375  _CRT_STDIO_INLINE int __CRTDECL _snscanf_s_l(
2376  _In_reads_bytes_(_BufferCount) _Pre_z_ char const* const _Buffer,
2377  _In_ size_t const _BufferCount,
2378  _In_z_ _Scanf_s_format_string_params_(0) char const* const _Format,
2379  _In_opt_ _locale_t const _Locale,
2380  ...)
2381  #if defined _NO_CRT_STDIO_INLINE // SCANF
2382  ;
2383  #else
2384  {
2385  int _Result;
2386  va_list _ArgList;
2387  __crt_va_start(_ArgList, _Locale);
2388 
2389  _Result = __stdio_common_vsscanf(
2391  _Buffer, _BufferCount, _Format, _Locale, _ArgList);
2392 
2393  __crt_va_end(_ArgList);
2394  return _Result;
2395  }
2396  #endif
2397 
2399  _CRT_STDIO_INLINE int __CRTDECL _snscanf_s(
2400  _In_reads_bytes_(_BufferCount) _Pre_z_ char const* const _Buffer,
2401  _In_ size_t const _BufferCount,
2402  _In_z_ _Scanf_s_format_string_ char const* const _Format,
2403  ...)
2404  #if defined _NO_CRT_STDIO_INLINE // SCANF
2405  ;
2406  #else
2407  {
2408  int _Result;
2409  va_list _ArgList;
2410  __crt_va_start(_ArgList, _Format);
2411 
2412  _Result = __stdio_common_vsscanf(
2414  _Buffer, _BufferCount, _Format, NULL, _ArgList);
2415 
2416  __crt_va_end(_ArgList);
2417  return _Result;
2418  }
2419  #endif
2420 
2421  #pragma warning(pop)
2422 
2423  #if defined _M_CEE_MIXED
2424  #pragma managed(pop)
2425  #endif
2426 
2427 
2428 
2429  //-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
2430  //
2431  // Non-ANSI Names for Compatibility
2432  //
2433  //-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
2434  #if _CRT_INTERNAL_NONSTDC_NAMES
2435 
2436  #define SYS_OPEN _SYS_OPEN
2437 
2438  #if defined _DEBUG && defined _CRTDBG_MAP_ALLOC
2439  #pragma push_macro("tempnam")
2440  #undef tempnam
2441  #endif
2442 
2444  _ACRTIMP char* __cdecl tempnam(
2445  _In_opt_z_ char const* _Directory,
2446  _In_opt_z_ char const* _FilePrefix
2447  );
2448 
2449  #if defined _DEBUG && defined _CRTDBG_MAP_ALLOC
2450  #pragma pop_macro("tempnam")
2451  #endif
2452 
2453  _Check_return_opt_ _CRT_NONSTDC_DEPRECATE(_fcloseall) _ACRTIMP int __cdecl fcloseall(void);
2454  _Check_return_ _CRT_NONSTDC_DEPRECATE(_fdopen) _ACRTIMP FILE* __cdecl fdopen(_In_ int _FileHandle, _In_z_ char const* _Format);
2455  _Check_return_opt_ _CRT_NONSTDC_DEPRECATE(_fgetchar) _ACRTIMP int __cdecl fgetchar(void);
2456  _Check_return_ _CRT_NONSTDC_DEPRECATE(_fileno) _ACRTIMP int __cdecl fileno(_In_ FILE* _Stream);
2457  _Check_return_opt_ _CRT_NONSTDC_DEPRECATE(_flushall) _ACRTIMP int __cdecl flushall(void);
2459  _Check_return_ _CRT_NONSTDC_DEPRECATE(_getw) _ACRTIMP int __cdecl getw(_Inout_ FILE* _Stream);
2460  _Check_return_opt_ _CRT_NONSTDC_DEPRECATE(_putw) _ACRTIMP int __cdecl putw(_In_ int _Ch, _Inout_ FILE* _Stream);
2461  _Check_return_ _CRT_NONSTDC_DEPRECATE(_rmtmp) _ACRTIMP int __cdecl rmtmp(void);
2462 
2463  #endif // _CRT_INTERNAL_NONSTDC_NAMES
2464 #endif // _CRT_FUNCTIONS_REQUIRED
2465 
2466 
2467 
_ACRTIMP int __cdecl _unlink(_In_z_ char const *_FileName)
#define _Out_
Definition: sal.h:342
_Check_return_ _ACRTIMP int __cdecl getchar(void)
return
Definition: corecrt_memcpy_s.h:60
#define __RETURN_POLICY_SAME(_FunctionCall)
Definition: corecrt.h:1782
#define stdout
Definition: corecrt_wstdio.h:34
Definition: corecrt.h:489
_Check_return_ _ACRTIMP __int64 __cdecl _ftelli64_nolock(_Inout_ FILE *_Stream)
_Check_return_opt_ _ACRTIMP int __cdecl puts(_In_z_ char const *_Buffer)
_ACRTIMP int __cdecl unlink(_In_z_ char const *_FileName)
#define _CRT_INTERNAL_LOCAL_PRINTF_OPTIONS
Definition: corecrt_stdio_config.h:104
#define __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_1_ARGLIST(_ReturnType, _FuncName, _VFuncName, _DstType, _Dst, _TType1, _TArg1)
Definition: corecrt.h:700
_Check_return_opt_ _CRT_STDIO_INLINE int __CRTDECL _fprintf_p(_Inout_ FILE *const _Stream, _In_z_ _Printf_format_string_ char const *const _Format,...)
Definition: stdio.h:910
#define __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_3(_ReturnType, _FuncName, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2, _TType3, _TArg3)
Definition: corecrt.h:694
_In_ rsize_t _Size
Definition: stdio.h:124
_Check_return_opt_ _ElementSize *_ElementCount void _In_ size_t _ElementSize
Definition: stdio.h:107
_Check_return_opt_ _CRT_STDIO_INLINE int __CRTDECL vprintf(_In_z_ _Printf_format_string_ char const *const _Format, va_list _ArgList)
Definition: stdio.h:736
#define _Out_opt_
Definition: sal.h:343
_Out_writes_opt_(_MaxCount)
#define _Out_writes_bytes_(size)
Definition: sal.h:347
#define _CRT_STDIO_INLINE
Definition: corecrt_stdio_config.h:22
_Pre_maybenull_ _Always_(_Post_z_)
__RETURN_POLICY_DST
Definition: stdio.h:441
#define _Check_return_opt_
Definition: corecrt.h:96
_Check_return_ _ACRTIMP int __cdecl _fileno(_In_ FILE *_Stream)
_Check_return_opt_ _ElementSize *_ElementCount void _In_ size_t _In_ size_t _Inout_ FILE * _Stream
Definition: stdio.h:107
_Check_return_opt_ _CRT_STDIO_INLINE int __CRTDECL _printf_s_l(_In_z_ _Printf_format_string_params_(0) char const *const _Format, _In_opt_ _locale_t const _Locale,...)
Definition: stdio.h:963
_Check_return_opt_ _ACRTIMP int __cdecl putchar(_In_ int _Character)
_Check_return_opt_ _CRT_STDIO_INLINE int __CRTDECL vfprintf_s(_Inout_ FILE *const _Stream, _In_z_ _Printf_format_string_ char const *const _Format, va_list _ArgList)
Definition: stdio.h:677
_Check_return_ _ACRTIMP FILE *__cdecl _fsopen(_In_z_ char const *_FileName, _In_z_ char const *_Mode, _In_ int _ShFlag)
int errno_t
Definition: corecrt.h:476
_Check_return_wat_ _ACRTIMP errno_t __cdecl freopen_s(_Outptr_result_maybenull_ FILE **_Stream, _In_z_ char const *_FileName, _In_z_ char const *_Mode, _Inout_ FILE *_OldStream)
_ACRTIMP int __cdecl _set_printf_count_output(_In_ int _Value)
_Check_return_opt_ _ElementSize *_ElementCount void _In_range_(>=, _ElementSize *_ElementCount) size_t _BufferSize
_Check_return_ _DCRTIMP FILE *__cdecl _popen(_In_z_ char const *_Command, _In_z_ char const *_Mode)
#define _Check_return_wat_
Definition: corecrt.h:102
size_t rsize_t
Definition: corecrt.h:527
_Check_return_opt_ _CRT_STDIO_INLINE int __CRTDECL _fprintf_l(_Inout_ FILE *const _Stream, _In_z_ _Printf_format_string_params_(0) char const *const _Format, _In_opt_ _locale_t const _Locale,...)
Definition: stdio.h:807
_ACRTIMP int __cdecl remove(_In_z_ char const *_FileName)
#define _In_reads_bytes_(size)
Definition: sal.h:318
_Check_return_opt_ _CRT_STDIO_INLINE int __CRTDECL _vfscanf_s_l(_Inout_ FILE *const _Stream, _In_z_ _Printf_format_string_ char const *const _Format, _In_opt_ _locale_t const _Locale, va_list _ArgList)
Definition: stdio.h:1082
_Check_return_opt_ _CRT_STDIO_INLINE int __CRTDECL _vprintf_l(_In_z_ _Printf_format_string_params_(2) char const *const _Format, _In_opt_ _locale_t const _Locale, va_list _ArgList)
Definition: stdio.h:722
#define _Scanf_s_format_string_
Definition: sal.h:560
_Check_return_opt_ _CRT_STDIO_INLINE int __CRTDECL vfscanf(_Inout_ FILE *const _Stream, _In_z_ _Printf_format_string_ char const *const _Format, va_list _ArgList)
Definition: stdio.h:1068
#define EOF
Definition: stdio.h:36
__EMPTY_DECLSPEC
Definition: string.h:90
_Check_return_opt_ _ACRTIMP int __cdecl _setmaxstdio(_In_ int _Maximum)
#define __DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_0_2_ARGLIST_EX(_ReturnType, _ReturnPolicy, _DeclSpec, _CC, _FuncName, _VFuncName, _SecureDstType, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2)
Definition: corecrt.h:1859
#define _CRT_BEGIN_C_HEADER
Definition: vcruntime.h:73
#define __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_1_ARGLIST(_ReturnType, _ReturnPolicy, _DeclSpec, _CC, _FuncName, _VFuncName, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1)
Definition: corecrt.h:730
_Check_return_opt_ _CRT_STDIO_INLINE int __CRTDECL vscanf(_In_z_ _Printf_format_string_ char const *const _Format, va_list _ArgList)
Definition: stdio.h:1132
_Check_return_wat_ _ACRTIMP errno_t __cdecl tmpfile_s(_Out_opt_ _Deref_post_valid_ FILE **_Stream)
_In_ size_t _BufferCount
Definition: stdio.h:1338
#define _Outptr_result_maybenull_
Definition: sal.h:425
_Inout_ FILE _In_z_ _In_opt_ _locale_t va_list _ArgList
Definition: stdio.h:626
_Check_return_opt_ _ElementSize *_ElementCount void _In_ size_t _In_ size_t _ElementCount
Definition: stdio.h:107
_Check_return_ _ACRTIMP long __cdecl _ftell_nolock(_Inout_ FILE *_Stream)
__DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_0(char *, gets_s, char, _Buffer) _Check_return_ _ACRTIMP int __cdecl _getw(_Inout_ FILE *_Stream)
_Check_return_opt_ _CRT_STDIO_INLINE int __CRTDECL fscanf_s(_Inout_ FILE *const _Stream, _In_z_ _Scanf_s_format_string_ char const *const _Format,...)
Definition: stdio.h:1234
_Result
Definition: stdio.h:1188
_ACRTIMP int __cdecl __stdio_common_vfprintf_s(_In_ unsigned __int64 _Options, _Inout_ FILE *_Stream, _In_z_ _Printf_format_string_params_(2) char const *_Format, _In_opt_ _locale_t _Locale, va_list _ArgList)
_Check_return_opt_ _CRT_STDIO_INLINE int __CRTDECL _vfscanf_l(_Inout_ FILE *const _Stream, _In_z_ _Printf_format_string_ char const *const _Format, _In_opt_ _locale_t const _Locale, va_list _ArgList)
Definition: stdio.h:1051
_Check_return_opt_ _ACRTIMP int __cdecl _fgetchar(void)
#define __CRTDECL
Definition: vcruntime.h:156
__crt_va_end(_ArgList)
_Check_return_opt_ _CRT_STDIO_INLINE int __CRTDECL _fprintf_p_l(_Inout_ FILE *const _Stream, _In_z_ _Printf_format_string_params_(0) char const *const _Format, _In_opt_ _locale_t const _Locale,...)
Definition: stdio.h:891
#define _Post_z_
Definition: sal.h:688
_Check_return_opt_ _CRT_STDIO_INLINE int __CRTDECL vfprintf(_Inout_ FILE *const _Stream, _In_z_ _Printf_format_string_ char const *const _Format, va_list _ArgList)
Definition: stdio.h:646
#define _Pre_maybenull_
Definition: sal.h:678
#define _In_opt_z_
Definition: sal.h:311
_Check_return_opt_ _ACRTIMP int __cdecl _fputchar(_In_ int _Character)
_Check_return_ _In_z_ _Scanf_format_string_ char const *const _Format
Definition: stdio.h:1197
#define _Check_return_
Definition: sal.h:554
_Check_return_ _ACRTIMP _CRTALLOCATOR char *__cdecl _tempnam(_In_opt_z_ char const *_DirectoryName, _In_opt_z_ char const *_FilePrefix)
_Check_return_ _In_ wchar_t _Ch
Definition: vcruntime_string.h:89
#define _In_z_
Definition: sal.h:310
_Check_return_ _In_z_ char const * _Mode
Definition: stdio.h:210
__int64 fpos_t
Definition: stdio.h:68
#define _In_
Definition: sal.h:305
#define _Out_writes_bytes_to_(size, count)
Definition: sal.h:357
#define _Inout_opt_
Definition: sal.h:376
_Check_return_opt_ _ACRTIMP int __cdecl _fseeki64_nolock(_Inout_ FILE *_Stream, _In_ __int64 _Offset, _In_ int _Origin)
#define _CRT_INTERNAL_LOCAL_SCANF_OPTIONS
Definition: corecrt_stdio_config.h:105
#define _CRT_INTERNAL_PRINTF_STANDARD_SNPRINTF_BEHAVIOR
Definition: corecrt_stdio_config.h:110
_ACRTIMP void __cdecl clearerr(_Inout_ FILE *_Stream)
#define _In_opt_
Definition: sal.h:306
_Check_return_opt_ _CRT_STDIO_INLINE int __CRTDECL _vfprintf_p_l(_Inout_ FILE *const _Stream, _In_z_ char const *const _Format, _In_opt_ _locale_t const _Locale, va_list _ArgList)
Definition: stdio.h:693
_In_ int _Base
Definition: time.h:323
_ACRTIMP void __cdecl _lock_file(_Inout_ FILE *_Stream)
_Check_return_opt_ _CRT_STDIO_INLINE int __CRTDECL vfscanf_s(_Inout_ FILE *const _Stream, _In_z_ _Printf_format_string_ char const *const _Format, va_list _ArgList)
Definition: stdio.h:1102
_Check_return_opt_ _ACRTIMP size_t __cdecl _fwrite_nolock(_In_reads_bytes_(_ElementSize *_ElementCount) void const *_Buffer, _In_ size_t _ElementSize, _In_ size_t _ElementCount, _Inout_ FILE *_Stream)
#define _DCRTIMP
Definition: corecrt.h:43
_Check_return_opt_ _CRT_STDIO_INLINE int __CRTDECL _vprintf_p(_In_z_ _Printf_format_string_ char const *const _Format, va_list _ArgList)
Definition: stdio.h:794
_Check_return_opt_ _CRT_STDIO_INLINE int __CRTDECL _printf_p_l(_In_z_ _Printf_format_string_params_(0) char const *const _Format, _In_opt_ _locale_t const _Locale,...)
Definition: stdio.h:1002
_Check_return_opt_ _CRT_STDIO_INLINE int __CRTDECL _vfprintf_l(_Inout_ FILE *const _Stream, _In_z_ char const *const _Format, _In_opt_ _locale_t const _Locale, va_list _ArgList)
Definition: stdio.h:631
#define _Scanf_s_format_string_params_(x)
Definition: sal.h:565
#define BUFSIZ
Definition: stdio.h:18
_Check_return_opt_ _ElementSize *_ElementCount void * _Buffer
Definition: stdio.h:105
Definition: corecrt_wstdio.h:25
_Out_writes_z_(_BufferCount) char *_Buffer
_Check_return_opt_ _ACRTIMP int __cdecl _fseek_nolock(_Inout_ FILE *_Stream, _In_ long _Offset, _In_ int _Origin)
_Check_return_wat_ _ACRTIMP errno_t __cdecl clearerr_s(_Inout_ FILE *_Stream)
#define _CRTALLOCATOR
Definition: corecrt.h:56
_Check_return_ _ACRTIMP int __cdecl rename(_In_z_ char const *_OldFileName, _In_z_ char const *_NewFileName)
_Check_return_opt_ _CRT_STDIO_INLINE int __CRTDECL printf(_In_z_ _Printf_format_string_ char const *const _Format,...)
Definition: stdio.h:946
_Check_return_opt_ _ACRTIMP int __cdecl _getc_nolock(_Inout_ FILE *_Stream)
_In_ long _Offset
Definition: stdio.h:266
_ACRTIMP void __cdecl rewind(_Inout_ FILE *_Stream)
_ACRTIMP int __cdecl __stdio_common_vfscanf(_In_ unsigned __int64 _Options, _Inout_ FILE *_Stream, _In_z_ _Scanf_format_string_params_(2) char const *_Format, _In_opt_ _locale_t _Locale, va_list _Arglist)
#define _CRT_NONSTDC_DEPRECATE(_NewName)
Definition: corecrt.h:300
_Inout_updates_opt_(_Size) char *_Buffer
#define _Printf_format_string_
Definition: sal.h:558
_Check_return_opt_ _CRT_STDIO_INLINE int __CRTDECL _vscanf_l(_In_z_ _Printf_format_string_ char const *const _Format, _In_opt_ _locale_t const _Locale, va_list _ArgList)
Definition: stdio.h:1118
_Check_return_opt_ _ACRTIMP errno_t __cdecl _get_stream_buffer_pointers(_In_ FILE *_Stream, _Out_opt_ char ***_Base, _Out_opt_ char ***_Pointer, _Out_opt_ int **_Count)
_In_reads_(_N) wchar_t const *_S2
_In_ int _MaxCount
Definition: stdio.h:194
_Check_return_opt_ _CRT_STDIO_INLINE int __CRTDECL _fscanf_s_l(_Inout_ FILE *const _Stream, _In_z_ _Scanf_s_format_string_params_(0) char const *const _Format, _In_opt_ _locale_t const _Locale,...)
Definition: stdio.h:1213
_Check_return_opt_ _ACRTIMP int __cdecl _putc_nolock(_In_ int _Character, _Inout_ FILE *_Stream)
_ACRTIMP void __cdecl setbuf(_Inout_ FILE *_Stream, _Inout_updates_opt_(BUFSIZ) _Post_readable_size_(0) char *_Buffer)
_ACRTIMP int __cdecl __stdio_common_vfprintf(_In_ unsigned __int64 _Options, _Inout_ FILE *_Stream, _In_z_ _Printf_format_string_params_(2) char const *_Format, _In_opt_ _locale_t _Locale, va_list _ArgList)
_Check_return_ _ACRTIMP FILE *__cdecl _fdopen(_In_ int _FileHandle, _In_z_ char const *_Mode)
_In_opt_z_ wchar_t const _In_opt_z_ wchar_t const * _FileName
Definition: corecrt.h:253
_Check_return_opt_ _ACRTIMP size_t __cdecl _fread_nolock(_Out_writes_bytes_(_ElementSize *_ElementCount) void *_Buffer, _In_ size_t _ElementSize, _In_ size_t _ElementCount, _Inout_ FILE *_Stream)
#define __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_2(_ReturnType, _FuncName, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2)
Definition: corecrt.h:693
_Check_return_opt_ _CRT_STDIO_INLINE int __CRTDECL _vprintf_s_l(_In_z_ _Printf_format_string_params_(2) char const *const _Format, _In_opt_ _locale_t const _Locale, va_list _ArgList)
Definition: stdio.h:749
_ACRTIMP int __cdecl _get_printf_count_output(void)
_ACRTIMP void __cdecl _unlock_file(_Inout_ FILE *_Stream)
_Check_return_opt_ _CRT_STDIO_INLINE int __CRTDECL fprintf_s(_Inout_ FILE *const _Stream, _In_z_ _Printf_format_string_ char const *const _Format,...)
Definition: stdio.h:871
#define _CRT_END_C_HEADER
Definition: vcruntime.h:76
_In_ long _In_ int _Origin
Definition: stdio.h:266
_Check_return_ _ACRTIMP int __cdecl feof(_In_ FILE *_Stream)
_Check_return_opt_ _CRT_STDIO_INLINE int __CRTDECL _printf_p(_In_z_ _Printf_format_string_ char const *const _Format,...)
Definition: stdio.h:1020
_Check_return_opt_ _Success_(return!=0) _ACRTIMP size_t __cdecl fread_s(_Out_writes_bytes_to_(_BufferSize
_Check_return_opt_ _CRT_STDIO_INLINE int __CRTDECL vscanf_s(_In_z_ _Printf_format_string_ char const *const _Format, va_list _ArgList)
Definition: stdio.h:1161
_Check_return_opt_ _ACRTIMP int __cdecl fflush(_Inout_opt_ FILE *_Stream)
_In_ _Value
Definition: corecrt_wstdlib.h:65
#define _Scanf_format_string_
Definition: sal.h:559
_Check_return_opt_ _CRT_STDIO_INLINE int __CRTDECL _vscanf_s_l(_In_z_ _Printf_format_string_ char const *const _Format, _In_opt_ _locale_t const _Locale, va_list _ArgList)
Definition: stdio.h:1145
_Check_return_opt_ _ACRTIMP int __cdecl _rmtmp(void)
_Check_return_opt_ _CRT_STDIO_INLINE int __CRTDECL _vfprintf_s_l(_Inout_ FILE *const _Stream, _In_z_ char const *const _Format, _In_opt_ _locale_t const _Locale, va_list _ArgList)
Definition: stdio.h:660
#define _Out_writes_(size)
Definition: sal.h:345
#define _Post_readable_size_(size)
Definition: sal.h:646
_Check_return_opt_ _In_z_ _Scanf_format_string_params_(0) char const *const _Format
_Check_return_ _ACRTIMP int __cdecl ferror(_In_ FILE *_Stream)
_Inout_ FILE _In_z_ _In_opt_ _locale_t _Locale
Definition: stdio.h:626
_Check_return_opt_ _CRT_STDIO_INLINE int __CRTDECL fprintf(_Inout_ FILE *const _Stream, _In_z_ _Printf_format_string_ char const *const _Format,...)
Definition: stdio.h:826
_Check_return_opt_ _CRT_STDIO_INLINE int __CRTDECL _scanf_s_l(_In_z_ _Scanf_s_format_string_params_(0) char const *const _Format, _In_opt_ _locale_t const _Locale,...)
Definition: stdio.h:1289
#define __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_0(_ReturnType, _ReturnPolicy, _DeclSpec, _FuncName, _SalAttributeDst, _DstType, _Dst)
Definition: corecrt.h:709
#define _Deref_post_valid_
Definition: sal.h:1192
#define _CRT_INTERNAL_SCANF_SECURECRT
Definition: corecrt_stdio_config.h:116
#define __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_2_ARGLIST(_ReturnType, _FuncName, _VFuncName, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2)
Definition: corecrt.h:701
#define stdin
Definition: corecrt_wstdio.h:33
_Diff _Count
Definition: algorithm:1941
#define _Inout_
Definition: sal.h:375
_Check_return_ _CRT_INSECURE_DEPRECATE(fopen_s) _ACRTIMP FILE *__cdecl fopen(_In_z_ char const *_FileName
_ACRTIMP
Definition: stdio.h:441
Definition: type_traits:960
_ACRTIMP void __cdecl perror(_In_opt_z_ char const *_ErrorMessage)
_Check_return_opt_ _CRT_STDIO_INLINE int __CRTDECL _fprintf_s_l(_Inout_ FILE *const _Stream, _In_z_ _Printf_format_string_params_(0) char const *const _Format, _In_opt_ _locale_t const _Locale,...)
Definition: stdio.h:850
#define _CRT_INTERNAL_PRINTF_LEGACY_VSPRINTF_NULL_TERMINATION
Definition: corecrt_stdio_config.h:109
_Inout_ FILE _In_z_ _Printf_format_string_params_(2) char const *_Format
_Out_writes_opt_z_(_BufferCount) char *_Buffer
_Check_return_opt_ _CRT_STDIO_INLINE int __CRTDECL printf_s(_In_z_ _Printf_format_string_ char const *const _Format,...)
Definition: stdio.h:983
#define _Pre_z_
Definition: sal.h:665
_Check_return_opt_ _CRT_STDIO_INLINE int __CRTDECL scanf_s(_In_z_ _Scanf_s_format_string_ char const *const _Format,...)
Definition: stdio.h:1309
_Check_return_opt_ _CRT_STDIO_INLINE int __CRTDECL _vprintf_p_l(_In_z_ _Printf_format_string_params_(2) char const *const _Format, _In_opt_ _locale_t const _Locale, va_list _ArgList)
Definition: stdio.h:780
_Check_return_opt_ _CRT_STDIO_INLINE int __CRTDECL vprintf_s(_In_z_ _Printf_format_string_ char const *const _Format, va_list _ArgList)
Definition: stdio.h:765
_Check_return_opt_ _CRT_STDIO_INLINE int __CRTDECL _printf_l(_In_z_ _Printf_format_string_params_(0) char const *const _Format, _In_opt_ _locale_t const _Locale,...)
Definition: stdio.h:928
_Out_ fpos_t * _Position
Definition: stdio.h:188
char * va_list
Definition: vadefs.h:39
_ACRTIMP int *__cdecl __p__commode(void)
_Check_return_opt_ _ACRTIMP size_t __cdecl fwrite(_In_reads_bytes_(_ElementSize *_ElementCount) void const *_Buffer, _In_ size_t _ElementSize, _In_ size_t _ElementCount, _Inout_ FILE *_Stream)
_Check_return_opt_ _ACRTIMP size_t __cdecl fread(_Out_writes_bytes_(_ElementSize *_ElementCount) void *_Buffer, _In_ size_t _ElementSize, _In_ size_t _ElementCount, _Inout_ FILE *_Stream)
__crt_va_start(_ArgList, _Locale)
#define _commode
Definition: stdio.h:590
#define _Pre_notnull_
Definition: sal.h:677
_Check_return_opt_ _ACRTIMP int __cdecl _ungetc_nolock(_In_ int _Character, _Inout_ FILE *_Stream)
tmpnam
Definition: stdio.h:441
_Check_return_ _ACRTIMP int __cdecl _getmaxstdio(void)
_Check_return_opt_ _ACRTIMP int __cdecl _fcloseall(void)
_Check_return_wat_ _ACRTIMP errno_t __cdecl fopen_s(_Outptr_result_maybenull_ FILE **_Stream, _In_z_ char const *_FileName, _In_z_ char const *_Mode)
_Check_return_opt_ _ACRTIMP int __cdecl _flushall(void)
#define NULL
Definition: corecrt.h:158
_Check_return_opt_ _CRT_STDIO_INLINE int __CRTDECL _vfprintf_p(_Inout_ FILE *const _Stream, _In_z_ _Printf_format_string_ char const *const _Format, va_list _ArgList)
Definition: stdio.h:708
#define _Post_maybez_
Definition: sal.h:1369