Skip to content

Commit 3a880a9

Browse files
TylerMSFTTylerMSFT
authored andcommitted
github 4133
1 parent d87900b commit 3a880a9

1 file changed

Lines changed: 12 additions & 1 deletion

File tree

docs/c-runtime-library/reference/vsnprintf-s-vsnprintf-s-vsnprintf-s-l-vsnwprintf-s-vsnwprintf-s-l.md

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
description: "Learn more about: vsnprintf_s, _vsnprintf_s, _vsnprintf_s_l, _vsnwprintf_s, _vsnwprintf_s_l"
33
title: "vsnprintf_s, _vsnprintf_s, _vsnprintf_s_l, _vsnwprintf_s, _vsnwprintf_s_l"
4-
ms.date: 09/06/2022
4+
ms.date: 09/09/2022
55
api_name: ["_vsnwprintf_s", "_vsnwprintf_s_l", "_vsnprintf_s", "vsnprintf_s", "_vsnprintf_s_l"]
66
api_location: ["msvcrt.dll", "msvcr80.dll", "msvcr90.dll", "msvcr100.dll", "msvcr100_clr0400.dll", "msvcr110.dll", "msvcr110_clr0400.dll", "msvcr120.dll", "msvcr120_clr0400.dll", "ntdll.dll", "ucrtbase.dll", "ntoskrnl.exe"]
77
api_type: ["DLLExport"]
@@ -135,6 +135,17 @@ The versions of these functions with the **`_l`** suffix are identical except th
135135
136136
In C++, using these functions is simplified by template overloads; the overloads can infer buffer length automatically (eliminating the need to specify a size argument) and they can automatically replace older, non-secure functions with their newer, secure counterparts. For more information, see [Secure Template Overloads](../../c-runtime-library/secure-template-overloads.md).
137137

138+
> [!Tip]
139+
> If you get an undefined external `_vsnprintf_s` error, ensure that you are linking the appropriate universal CRT library as follows:
140+
>> | Linker switch | Description | Library to link against |
141+
>> |--|--|--|
142+
>> | [/MD](/cpp/build/reference/md-mt-ld-use-run-time-library.md) | multithread library | `ucrt.lib` |
143+
>> | [/MDd](/cpp/build/reference/md-mt-ld-use-run-time-library.md) | multithread debug library | `ucrtd.lib` |
144+
>> | [/MT](/cpp/build/reference/md-mt-ld-use-run-time-library.md) | multithread static library | `libucrt.lib` |
145+
>> | [/MTd](/cpp/build/reference/md-mt-ld-use-run-time-library.md) | multithread debug static library | `libucrtd.lib` |
146+
147+
For more information about handling upgrade issues, see [Overview of potential upgrade issues](/cpp/porting/overview-of-potential-upgrade-issues-visual-cpp.md))
148+
138149
### Generic-Text Routine Mappings
139150

140151
|`TCHAR.H` routine|`_UNICODE` & `_MBCS` not defined|`_MBCS` defined|`_UNICODE` defined|

0 commit comments

Comments
 (0)