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.
Hiermee schrijft u opgemaakte uitvoer naar de console met behulp van een aanwijzer naar een lijst met argumenten. Veiligere versies van deze functies zijn beschikbaar, zie _vcprintf_s, _vcprintf_s_l, , _vcwprintf_s. _vcwprintf_s_l
Belangrijk
Deze API kan niet worden gebruikt in toepassingen die worden uitgevoerd in Windows Runtime. Zie CRT-functies niet worden ondersteund in Universal Windows Platform-appsvoor meer informatie.
Syntaxis
int _vcprintf(
   const char* format,
   va_list argptr
);
int _vcprintf_l(
   const char* format,
   _locale_t locale,
   va_list argptr
);
int _vcwprintf(
   const wchar_t* format,
   va_list argptr
);
int _vcwprintf_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
Het aantal geschreven tekens of een negatieve waarde als er een uitvoerfout optreedt. Als format een null-aanwijzer is, wordt de ongeldige parameterhandler aangeroepen, zoals beschreven in parametervalidatie. Als de uitvoering mag worden voortgezet, errno is ingesteld op EINVALen -1 wordt geretourneerd.
Opmerkingen
Elk van deze functies neemt een aanwijzer naar een lijst met argumenten, waarna de opgegeven gegevens naar de console worden opgemaakt en geschreven. 
              _vcwprintf is de brede versie van _vcprintf. Er wordt een tekenreeks met een breed teken als argument gebruikt.
De versies van deze functies met het _l achtervoegsel zijn identiek, behalve dat ze de landinstellingparameter gebruiken die wordt doorgegeven in plaats van de huidige landinstelling.
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.
Algemene routinetoewijzingen voor tekst
| TCHAR. H-routine | 
              _UNICODE en _MBCS niet gedefinieerd | 
              _MBCS Gedefinieerd | 
              _UNICODE Gedefinieerd | 
|---|---|---|---|
_vtcprintf | 
_vcprintf | 
_vcprintf | 
_vcwprintf | 
_vtcprintf_l | 
_vcprintf_l | 
_vcprintf_l | 
_vcwprintf_l | 
Behoeften
| Routine | Vereiste header | Optionele headers | 
|---|---|---|
              _vcprintf, _vcprintf_l | 
<conio.h> en <stdarg.h> | <varargs.h>* | 
              _vcwprintf, _vcwprintf_l | 
<conio.h> of <wchar.h>, en <stdarg.h> | <varargs.h>* | 
* Vereist voor UNIX V-compatibiliteit.
Zie Compatibiliteit voor meer compatibiliteitsinformatie.
Voorbeeld
// crt_vcprintf.cpp
#include <conio.h>
#include <stdarg.h>
// An error formatting function used to print to the console.
int eprintf(const char* format, ...)
{
    va_list args;
    va_start(args, format);
    int result = _vcprintf(format, args);
    va_end(args);
    return result;
}
int main()
{
    eprintf("(%d:%d): Error %s%d : %s\n", 10, 23, "C", 2111,
           "<some error text>");
    eprintf("    (Related to symbol '%s' defined on line %d).\n",
            "<symbol>", 5 );
}
(10,23): Error C2111 : <some error text>
    (Related to symbol '<symbol>' defined on line 5).
Zie ook
              Stream I/O-
              
              vprintf functies
              
              _cprintf, , , _cprintf_l_cwprintf_cwprintf_l
              
              fprintf, , , _fprintf_lfwprintf_fwprintf_l
              
              printf, , , _printf_lwprintf_wprintf_l
              
              sprintf
              swprintf, _sprintf_l, _swprintf_l__swprintf_l
              
              va_arg, , , va_copyva_endva_start