Function mit Variabler Parameter anzahl?



  • Hi

    Ich bräuchte eine funktion wo ich eine variable anzahl an strings übergeben kann bzw char arrays

    also bzw so:

    int main()
    {
    fkt("test","test2","bla");
    fkt("tbla","foo");
    }

    fkt(XXXX)
    {
    printf("%s",parameter1)
    ...
    }

    ließe sich sowas realisieren?

    MFG Ganjaaa



  • solche Funktionen nennt man Ellipsen. Siehe man: stdarg(3)



  • danke dir habe ich mir mal angeschaut und sieht auch gut aus nur entweder bin ich zu dumm es richtig zu machen oder ich weiß ned

    er sagt mir immer "Line 8 : `va_start' used in function with fixed args "
    damit kann ich ned so wirklich was anfange was er von mir will

    #include <stdio.h>
    #include <stdlib.h>
    #include <stdarg.h>
    
    void cout(char *str)
    {
       va_list val;
       va_start(val,str);
       printf("Test : %s",va_arg(val,char));
       va_end(val);
    }
    
    int main(int argc, char *argv[])
    {
      cout("test","banane");           
      system("PAUSE");
      return 0;
    }
    


  • void cout(char *str, ...)

    und wenn, muss es schon printf("Test : %s",va_arg(val,char *)); also char * sein, nicht char.



  • ahhh danke habe es jetzt 😘


Log in to reply