| Hjem | Hardware | Netværk | Programmering | software | Fejlfinding | systemer | 
Programmering  
  • C /C + + Programming
  • Computer Programmeringssprog
  • Delphi programmering
  • Java programmering
  • JavaScript Programmering
  • PHP /MySQL programmering
  • Perl programmering
  • Python Programming
  • Ruby Programming
  • Visual Basics Programmering
  •  
    Computer Viden >> Programmering >> C /C + + Programming >> Content
    Sådan bruges Variable parameter-funktioner i C + +
    fleste funktioner acceptere et fast antal argumenter. Nogle programmer kræver imidlertid funktioner til at acceptere variable parametre . Et velkendt eksempel er print funktion C. For sådanne sager , C + + tilbyder en kraftfuld løsning, der lader compiler dechifrere argumenterne under kørslen . Læs videre for en tutorial, der demonstrerer, hvordan man gennemfører sådanne funktioner. Ting du skal
    Intermediate C + + Online C + + compiler med IDE , såsom Microsoft Visual C + +
    Vis Flere Instruktioner
    1

    Tilsæt STDARG.H biblioteksarkiv ind dit program. Det er, hvor du definerer makroer. På den første linje i filen , skal du indsætte # include .
    2

    Brug makroer va_arg , va_start og v_end der samarbejder med va_type i stdarg.h .
    3

    etablere en variabel af typen va_list til at fungere som en liste markør.
    4

    Adgang de enkelte parametre ved hjælp af va_arg makro. Find en måde at fortælle va_arg makro hvilken type argument, du ønsker det at hente til at levere det rigtige antal bytes fra stakken.
    5.

    Cast resultatet fra trin 4 til den type, du ønsker det at være.
    6

    Ring til va_end makro til at afslutte behandlingen af ​​variable parametre .
    7

    Kig på eksemplet nedenfor , der viser trin 2 til 6 . Funktion myprintf accepterer et format streng, der angiver, hvilken type og placering af hvert argument . Efter format strengen er på listen over argumenter . Funktionen udskriver argumenter. For overskuelighedens skyld kan det kun behandle int , float og char : Hej //erklæring
    void myprintf ( char * format , ... ), Twitter //Defintion
    void myprintf ( char * format . ..) {
    va_list vl ,
    int i;
    va_start ( vl, args ),
    for ( i = 0; args [i] = '\\ 0 ' ; ! + + i) {
    union any_t {
    int i;
    float f ;
    char c.
    } enhver ,
    hvis ( 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 {
    smide SomeException ;
    }
    va_end ( VL ),
    }

    Forrige :

    næste :
      Relaterede artikler
    ·Sådan at slette poster i en C Program Array 
    ·Hvordan man kompilerer en CPP med en header fil 
    ·Hvordan til Store et input i et Vector 
    ·Sådan Detect en Debugger 
    ·Sådan oprettes tekst for Direct3D C + + 
    ·Hvordan man laver en trykknap Synlig i Visual C 
    ·Hvad er en Xilinx XPS 
    ·Sådan oprettes en tekstfil med C + + 
    ·Online Tutorials om Device Drivers hjælp af C + + 
    ·Hvordan man laver en Geometry Calculator i C + + 
      Anbefalede Artikler
    ·Sådan oprettes en binær fil fra C # 
    ·Sådan Erstat attributter Brug XSL 
    ·Opacity Virkninger i MooTools 
    ·Sådan tilføjes heltal med Bit Forskydninger 
    ·Sådan får du en Henvisning til en Java Thread 
    ·Hvordan til at importere fra CSV til MySQL med PHP Scri…
    ·Sådan Set Up en simpel PHP SoapServer Med en funktion …
    ·Sådan Start Python Interpreter 
    ·PHP String Typer 
    ·Hvad er en Cal pakke i Visual Basic 
    Copyright © Computer Viden http://www.computerdk.com