07.10.2013 Aufrufe

Vorlesungsskript - Hochschule Emden/Leer

Vorlesungsskript - Hochschule Emden/Leer

Vorlesungsskript - Hochschule Emden/Leer

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

c○ Prof. Dr. B. Bartning, HS <strong>Emden</strong>/<strong>Leer</strong> Rumpfskript ” Informatik I/II“ (WS/SS 2010/11) 146<br />

}<br />

// Version (d) - C-typisch!!<br />

{<br />

while (*ziel++=*quell++);<br />

}<br />

(b) Üblich ist es, solchen Funktionen einen Rückgabewert zu geben (d. h. nicht void), und zwar<br />

den (ursprünglichen) Wert des Zeigers ziel; dadurch ist eine Schachtelung von solchen<br />

Funktionsaufrufen möglich.<br />

char *strcpy_NEU(char *ziel,char *quell);<br />

// Funktionsblock zu Version (a)<br />

{<br />

int i=0;<br />

while (quell[i]!=’\0’) {<br />

ziel[i]=quell[i];<br />

++i;<br />

}<br />

ziel[i]=’\0’;<br />

return ziel; // wie: return &ziel[0];<br />

}<br />

// Funktionsblock zu Version (d)<br />

{<br />

char *merk=ziel;<br />

while (*ziel++=*quell++);<br />

return merk;<br />

}<br />

Auch die String-Bibliotheksfunktionen haben als Rückgabewert den Zeiger ziel, außerdem<br />

kann mit dem Quellzeiger das Quellarray nicht verändert werden, vgl. (10.28):<br />

char *strcpy(char *ziel, const char *quell);<br />

char *strcat(char *ziel, const char *quell);<br />

Bsp für die Ausnutzung der Rückgabewerte:<br />

char str1[]="String", str2[]="fortsetzung",<br />

puffer[30];<br />

cout

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!