Hi,
ich habe nur die Funktion putchar zur Ausgabe eines Zeichens zur
Verfügung.
Wie kann ich damit folgenden Aufruf realisieren:
printf("%s",string);
d.h. wie kann ich mir eine printf-Funktion selbst schreiben??
Danke,
Sandra
Sandra schrieb: > d.h. wie kann ich mir eine printf-Funktion selbst schreiben?? Wenn es nur ein printf für strinsgs sein soll, reicht eine while-Schleife, die solange die Buchstaben per putchar ausgibt, bis die abschließende Null erreicht ist. Für ein vollwertiges printf mit allen Features schaust du dir besser fertigen Code dafür an. Tante google hilft suchen. Oliver
> ich habe nur die Funktion putchar zur Ausgabe eines Zeichens zur > Verfügung. > > Wie kann ich damit folgenden Aufruf realisieren: > printf("%s",string); char* p; p = string; while (*p) { putchar(*p); p++; }
Oder vollständig:
1 | #include <stdarg.h> |
2 | |
3 | void
|
4 | printf(const char *fmt, ...) |
5 | {
|
6 | va_list ap; |
7 | |
8 | va_start(ap, fmt); /* fmt is otherwise completely ignored ;) */ |
9 | |
10 | const char *p = s = va_arg(ap, const char *); |
11 | char c; |
12 | |
13 | while ((c = *p++) != '\0')) |
14 | putchar(c); |
15 | |
16 | va_end(ap); |
17 | }
|
Wenn es für AVR sein soll, gibt es mit http://www.nongnu.org/avr-libc/user-manual/group__avr__stdio.html#gab599ddf60819df4cc993c724a83cb1a4 einen eleganten Weg.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.