Forum: Compiler & IDEs Anfängerfrage printf selbst aus putchar-Fkt schreiben


von Sandra (Gast)


Lesenswert?

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

von Oliver (Gast)


Lesenswert?

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

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

> 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++;
}

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

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
}

von Klaus W. (mfgkw)


Lesenswert?


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
Noch kein Account? Hier anmelden.