?
tobias321 schrieb:
Folgende Aufgabenstellung:
Funktionen der printf-Familie benötigen einen Formatstring. Wie funktioniert die Abarbeitung dieses Formatstrings? Sie können eine printf-Anweisung aus dieser Aufgabe als Beispiel verwenden!
Beispiel wäre dann
printf("Usage: %s iterations\n", argv[0]);
Grundsätzlich erledigt hier keiner Deine Übungen.
Wenn die Aufgabe zu abstrakt ist:
Versuch selber eine Funktion zu schreiben, die auf einem Formatstring arbeitet und stell konkrete Fragen, wenn Du dabei auf Probleme stößt.
Problematisch wird evtl. der Umgang mit variablen Argumenten sein (das ... in der Deklaration von int printf(const char *format, ...); ).
Daher würde ich vorschlagen Deine Funktion unterscheidet nur %s und %i und hat folgende Deklaration void my_printf(const char *format, const void *value);
Also:
void my_printf(const char *format, const void *value);
int main(void){
int i = 42;
my_printf("Int: %i", &i); // Ausgabe: Int: 42
const char* s = "Hallo, Welt!";
my_printf("\"%s\"", s); // Ausgabe: "Hallo, Welt!"
}