Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Schrijft opgemaakte uitvoer met behulp van een aanwijzer naar een lijst met argumenten en maakt specificatie mogelijk van de volgorde waarin de argumenten worden gebruikt.
Syntaxis
int _vprintf_p(
   const char *format,
   va_list argptr
);
int _vprintf_p_l(
   const char *format,
   _locale_t locale,
   va_list argptr
);
int _vwprintf_p(
   const wchar_t *format,
   va_list argptr
);
int _vwprintf_p_l(
   const wchar_t *format,
   _locale_t locale,
   va_list argptr
);
Parameterwaarden
format
Formaat specificatie.
argptr
Aanwijzer naar de lijst met argumenten.
locale
De landinstelling die moet worden gebruikt.
Zie Specificatiesyntaxis opmaken voor meer informatie.
Retourwaarde
              _vprintf_p en _vwprintf_p retourneert het aantal geschreven tekens, niet inclusief het null-teken beƫindigen of een negatieve waarde als er een uitvoerfout optreedt.
Opmerkingen
Elk van deze functies neemt een aanwijzer naar een lijst met argumenten en maakt vervolgens de opgegeven gegevens op en schrijft deze naar stdout. Deze functies verschillen van vprintf_s en vwprintf_s alleen omdat ze de mogelijkheid ondersteunen om de volgorde op te geven waarin de argumenten worden gebruikt. Zie printf_p Positieparameters voor meer informatie.
              _vwprintf_p is de brede versie van _vprintf_p; de twee functies gedragen zich identiek als de stream wordt geopend in de ANSI-modus. 
              _vprintf_p ondersteunt momenteel geen uitvoer in een UNICODE-stream.
De versies van deze functies met het _l achtervoegsel zijn identiek, behalve dat ze de locale-parameter gebruiken die wordt doorgegeven in plaats van de huidige thread-locale.
Belangrijk
Zorg ervoor dat dit format geen door de gebruiker gedefinieerde tekenreeks is. Zie Bufferoverschrijdingen voorkomen voor meer informatie.
Vanaf Windows 10 versie 2004 (build 19041) drukt de printf reeks functies exact vertegenwoordigbare zwevende kommanummers af volgens de IEEE 754-regels voor afronding. In eerdere versies van Windows zouden de zwevende kommanummers die eindigen op '5' altijd naar boven afronden. IEEE 754 geeft aan dat ze moeten afronden op het dichtstbijzijnde even cijfer (ook wel bekend als 'Afronding van bankier'). Beide moeten bijvoorbeeld printf("%1.0f", 1.5)printf("%1.0f", 2.5) worden afgerond op 2. Voorheen zou 1,5 afronden op 2 en 2,5 naar 3. Deze wijziging is alleen van invloed op exact vertegenwoordigbare getallen. Bijvoorbeeld: 2.35 (die, wanneer deze wordt weergegeven in het geheugen, dichter bij 2.350000000000008) blijft afronden tot 2,4. Afronding die door deze functies wordt uitgevoerd, respecteert nu ook de drijvende-komma-afrondingsmodus die is ingesteld door fesetround. Eerder koos afronding altijd voor FE_TONEAREST gedrag. Deze wijziging is alleen van invloed op programma's die zijn gebouwd met Visual Studio 2019 versie 16.2 en hoger. Als u het verouderde drijvendekomma-afrondingsgedrag wilt gebruiken, moet u een koppeling maken met legacy_stdio_float_rounding.obj.
Als format dit een null-aanwijzer is of als de notatietekenreeks ongeldige opmaaktekens bevat, wordt de ongeldige parameterhandler aangeroepen, zoals beschreven in parametervalidatie. Als de uitvoering mag doorgaan, keren de functies terug -1 en worden ze ingesteld errno op EINVAL.
Algemene routinetoewijzingen voor tekst
| TCHAR. H-routine | 
              _UNICODE en _MBCS niet gedefinieerd | 
              _MBCS Gedefinieerd | 
              _UNICODE Gedefinieerd | 
|---|---|---|---|
_vtprintf_p | 
_vprintf_p | 
_vprintf_p | 
_vwprintf_p | 
_vtprintf_p_l | 
_vprintf_p_l | 
_vprintf_p_l | 
_vwprintf_p_l | 
Behoeften
| Routine | Vereiste header | Optionele headers | 
|---|---|---|
              _vprintf_p, _vprintf_p_l | 
<stdio.h> en <stdarg.h> | <varargs.h>* | 
              _vwprintf_p, _vwprintf_p_l | 
<stdio.h> of <wchar.h>, en <stdarg.h> | <varargs.h>* | 
* Vereist voor UNIX V-compatibiliteit.
De console wordt niet ondersteund in UWP-apps (Universal Windows Platform). De standaardstroomgrepen die zijn gekoppeld aan de console, stdin, stdouten stderr, moeten worden omgeleid voordat C-runtimefuncties deze kunnen gebruiken in UWP-apps. Zie Compatibiliteit voor meer compatibiliteitsinformatie.
Zie ook
              Stream I/O-
              
              vprintf functies
              
              _fprintf_p, , , _fprintf_p_l_fwprintf_p_fwprintf_p_l
              
              _printf_p, , , _printf_p_l_wprintf_p_wprintf_p_l
              
              _sprintf_p, , , _sprintf_p_l_swprintf_p_swprintf_p_l
              
              vsprintf_s, , , _vsprintf_s_lvswprintf_s_vswprintf_s_l
              
              va_arg, , , va_copyva_endva_start
              
              _vfprintf_p, , , _vfprintf_p_l_vfwprintf_p_vfwprintf_p_l
              
              _printf_p, , , _printf_p_l_wprintf_p_wprintf_p_l
              printf_p positionele parameters