C Unterfunktion Optionale Argumente

Tach Leute :)

Ich hab eine Unterfunktion geschrieben um ein Wort auszugeben, allerdings nicht im ganzen sondern Buchstabe für Buchstabe mit kleinen Pausen dazwischen...

Code:
void output(char message[50])
{
     int i , end = strlen(message) ;
     for(i=0;i!=end;i++)
     {
                        printf( "%c" , message[i] ) ;
                        SleepEx(25,false);
     }
     printf( " " ) ;
}

Ich wollte das ganze erweitern das ich nicht für jedes Wort das ganze nochmal aufrufen muss...
Deshalb meine Frage... Kann man optionale Argumente für die Funktion hinzufügen (also mehrere optionale Strings für mehrere Wörter) und wie kann man dann abfragen wie viel angegeben wurde?

Danke schonmal, MCStreetguy :)


PS: Ich code mit Dev-C++ in C
 
Du kannst in C keine Funktionen mit variabler Parameterzahl erstellen. Du könntest jedoch ein Array von char* übergeben und dann jedes Element mithilfe einer For-Schleife ausgeben.
 
Werden char arrays nicht immer nur bis zu einer Leerstelle gespeichert?
Das war bei mir nämlich des öfteren ein Problem :/
 
Wie kann ich denn die Anzahl der Argumente in einer va_list zählen?

Du musst die Anzahl der Argumente explizit angeben.

Zum Beispiel:

PHP:
int my_function(argc, ...);
my_function(3, 10, 20, 30);

Bei printf gibst du die Anzahl der Parameter auch an, jedoch ohne es direkt zu wissen. Es werden einfach die %-Platzhalter durchiteriert.

Nachtrag: ich hatte die neuen Beiträge nicht gelesen, wurde schon gesagt.
 
Zuletzt bearbeitet:
Zurück
Oben