You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Returns the number of characters in the formatted string using a pointer to a list of arguments, with the ability to specify the order in which the arguments are used.
15
15
@@ -20,7 +20,7 @@ int _vscprintf_p(
20
20
const char *format,
21
21
va_list argptr
22
22
);
23
-
int_vscprintf_p _l(
23
+
int_vscprintf_p_l(
24
24
const char *format,
25
25
_locale_t locale,
26
26
va_list argptr
@@ -29,7 +29,7 @@ int _vscwprintf_p (
29
29
const wchar_t *format,
30
30
va_list argptr
31
31
);
32
-
int_vscwprintf_p _l(
32
+
int_vscwprintf_p_l(
33
33
const wchar_t *format,
34
34
_locale_t locale,
35
35
va_list argptr
@@ -38,55 +38,55 @@ int _vscwprintf_p _l(
38
38
39
39
### Parameters
40
40
41
-
*format*<br/>
41
+
*`format`*\
42
42
Format-control string.
43
43
44
-
*argptr*<br/>
44
+
*`argptr`*\
45
45
Pointer to list of arguments.
46
46
47
-
*locale*<br/>
47
+
*`locale`*\
48
48
The locale to use.
49
49
50
50
For more information, see [Format Specifications](../../c-runtime-library/format-specification-syntax-printf-and-wprintf-functions.md).
51
51
52
52
## Return Value
53
53
54
-
**_vscprintf_p** returns the number of characters that would be generated if the string pointed to by the list of arguments was printed or sent to a file or buffer using the specified formatting codes. The value returned does not include the terminating null character. **_vscwprintf_p** performs the same function for wide characters.
54
+
**`_vscprintf_p`** returns the number of characters that would be generated if the string pointed to by the list of arguments was printed or sent to a file or buffer using the specified formatting codes. The value returned does not include the terminating null character. **`_vscwprintf_p`** performs the same function for wide characters.
55
55
56
56
## Remarks
57
57
58
-
These functions differ from **_vscprintf** and **_vscwprintf** only in that they support the ability to specify the order in which the arguments are used. For more information, see [printf_p Positional Parameters](../../c-runtime-library/printf-p-positional-parameters.md).
58
+
These functions differ from **`_vscprintf`** and **`_vscwprintf`** only in that they support the ability to specify the order in which the arguments are used. For more information, see [`printf_p` Positional Parameters](../../c-runtime-library/printf-p-positional-parameters.md).
59
59
60
-
The versions of these functions with the **_l** suffix are identical except that they use the locale parameter passed in instead of the current thread locale.
60
+
The versions of these functions with the **`_l`** suffix are identical except that they use the locale parameter passed in instead of the current thread locale.
61
61
62
-
If *format* is a null pointer, the invalid parameter handler is invoked, as described in [Parameter Validation](../../c-runtime-library/parameter-validation.md). If execution is allowed to continue, the functions return -1 and set **errno** to **EINVAL**.
62
+
If *`format`* is a null pointer, the invalid parameter handler is invoked, as described in [Parameter Validation](../../c-runtime-library/parameter-validation.md). If execution is allowed to continue, the functions return -1 and set **`errno`** to **`EINVAL`**.
63
63
64
64
> [!IMPORTANT]
65
-
> Ensure that if *format* is a user-defined string, it is null terminated and has the correct number and type of parameters. For more information, see [Avoiding Buffer Overruns](/windows/win32/SecBP/avoiding-buffer-overruns).
65
+
> Ensure that if *`format`* is a user-defined string, it is null terminated and has the correct number and type of parameters. For more information, see [Avoiding Buffer Overruns](/windows/win32/SecBP/avoiding-buffer-overruns).
66
66
> Starting in Windows 10 version 2004 (build 19041), the `printf` family of functions prints exactly representable floating point numbers according to the IEEE 754 rules for rounding. In previous versions of Windows, exactly representable floating point numbers ending in '5' would always round up. IEEE 754 states that they must round to the closest even digit (also known as "Banker's Rounding"). For example, both `printf("%1.0f", 1.5)` and `printf("%1.0f", 2.5)` should round to 2. Previously, 1.5 would round to 2 and 2.5 would round to 3. This change only affects exactly representable numbers. For example, 2.35 (which, when represented in memory, is closer to 2.35000000000000008) continues to round up to 2.4. Rounding done by these functions now also respects the floating point rounding mode set by [`fesetround`](fegetround-fesetround2.md). Previously, rounding always chose `FE_TONEAREST` behavior. This change only affects programs built using Visual Studio 2019 version 16.2 and later. To use the legacy floating point rounding behavior, link with ['legacy_stdio_float_rounding.obj`](../link-options.md).
67
67
68
68
### Generic-Text Routine Mappings
69
69
70
70
|TCHAR.H routine|_UNICODE & _MBCS not defined|_MBCS defined|_UNICODE defined|
0 commit comments