Welkom op de Nederland Computer Kennisnetwerk!  
 
Zoeken computer kennis
Home Hardware Netwerken Programmering Software Computerstoring Besturingssysteem
Computer Kennis >> Programmering >> C /C + + Programming >> Content
Hoe te Variabele Parameter functies in gebruik C + +
De meeste functies aanvaarden een vast aantal argumenten . Sommige toepassingen vereisen echter functies om variabele parameters te accepteren . Een bekend voorbeeld is de printfunctie van C. Voor dergelijke gevallen , C + + biedt een krachtige oplossing die de compiler het ontcijferen van de argumenten waarmee tijdens runtime . Lees verder voor een tutorial die laat zien hoe deze functies te implementeren . Wat je nodig hebt
Intermediair C + +
C + + compiler met IDE , zoals Microsoft Visual C + +
Toon Meer Aanwijzingen
1

In het STDARG.H bibliotheek bestand in uw programma . Dat is waar je de macro's te definiëren . Op de eerste regel van het bestand , plaatst # bevatten . Kopen van 2

Gebruik de macro's va_arg , va_start en v_end die samenwerken met de va_type in stdarg.h .
3

Instelling van een variabele van het type va_list om te functioneren als een lijstmarkering .

toegang 4 de individuele parameters met behulp van de va_arg macro . Vind een manier om de va_arg macro vertellen wat voor soort argument dat u wilt ophalen om het juiste aantal bytes leveren van de stapel .
5

Cast het resultaat van stap 4 tot het type dat u wilt te zijn .
6

Bel de va_end macro met de verwerking van variabele parameters te beëindigen .

Kijk naar het voorbeeld hieronder die een goede illustratie stappen 02-06 juli . Functie aanvaardt myprintf een format string die het type en de positie van elk argument geeft . Na de format string is de lijst met argumenten . De functie print de argumenten . . ; Twitter //definitie
nietig myprintf ( char * format , Twitter //aangifte
nietig myprintf ( char * format , ... ) : Voor de eenvoud het kan alleen int , float en char verwerken .. ) {
va_list vl ;
int i ;
va_start ( vl , args ) ;
for (i = 0 ; args [ i ] = ' \\ 0 ' ; ! + + i ) {
unie any_t {
int i ;
float f ;
char c ;
} elke ;
if ( args [ i ] == ' i ' ) {
any.i = va_arg ( vl , int ) ;
printf ( " % i \\ n " , any.i ) ;
} else
if ( args [ i ] == ' f ' ) { < br > any.f = va_arg ( vl , float ) ;
printf ( " % f \\ n " , any.f ) ;
} else
if ( args [ i ] == ' c ' ) {
any.c = va_arg ( vl , char ) ;
printf ( " % c \\ n " , any.c ) ;
}
else {
gooien SomeException ;
}
va_end ( zw) ;
}

Previous: Next:
  C /C + + Programming
·Hoe te DirectX Monsters samens…
·Hoe te GMP In Xcode 
·Hoe je afbeeldingen tonen in e…
·Wat heb ik nodig om te beginne…
·PowerShell Objecttypen 
·Hoe maak je een functie in Mic…
·Hoe de Stack Implementeren ADT…
·Hoe. Pyc File Maken om Run op …
·Om te lezen hoe een willekeuri…
  Related Articles
Hoe maak je een Combo Box Maak in Visual…
Hoe maak je een Check Box Maak in Visual…
Hoe maak je een tekstvak maken in Visual…
Hoe maak je een optie Box in Visual Basi…
Hoe maak je een schijf keuzelijst in Vis…
Hoe kan ik een keuzelijst maken in Visua…
Hoe kan ik een Picture Box Maak in Visua…
Hoe een bestand keuzelijst Maak in Visua…
Hoe kan ik een afbeelding Box Maak in Vi…
  Programmering Articles
·Hoe je twee Multi - Digit Integers Verme…
·Hoe je nummers weer te geven in oplopend…
·Hoe maak je een C + + Critter Caretaker …
·Hoe te verwijderen Variabelen Van Vars P…
·Hoe Fix C + + Error R6002 
·Hoe te controleren Waarden in Pseudocode…
·Hoe maak je een Drop -Down Kalender Inst…
·Hoe maak je een PHP -bestand verzenden i…
·Hoe te ODBC gebruiken met PHP 
Copyright © Computer Kennis http://www.nldit.com