strrev()! funktioniert wie ?

Gast #1745384
Lesenswert?

Ich versuche gerade die scheinbar nicht sehr bekannte Funktion strrev() 
zu nutzen um meinen String umzudrehen .
Leider will das nicht so recht funktionieren .
Hier mal in kurzform meine Variable und meine Aufruf .

----------------------------------------------------------------------

char Zeichen[10];
     Zeichen[0] = '\0';

----------------------------------------------------------------------

// Zeichen wird dann z.B. im Laufe des Programms mit "Hallo" gefüllt


Zeichen = strrev(Zeichen);


// jetzt sollte Zeichen --> "ollaH" sein .

---------------------------------------------------------------------

Der Compiler meldet sich dann mit
incompatible types in assignment of char* to char[10]
Leider kann ich sonst auch nirgendwo wirklich viel zu dieser Funktion 
finden zumal sie wohl nicht in jedem Compiler verfügbar ist.

Kann mir hier vielleicht eben jemand helfen der das schonmal gemacht hat 
? .

Eine Schleife zum umdrehen will ich nicht nutzen wo es doch diese schöne 
strrev Funktion gibt .
Gast #1745403
Lesenswert?

char* pZeichen;
char Zeichen[10];
     Zeichen[0] = '\0';

// Zeichen wird dann z.B. im Laufe des Programms mit "Hallo" gefüllt
pZeichen = strrev(Zeichen);


so würde es gehen. du kannst dann mit pZeichen weiter arbeiten.
#1745418
Lesenswert?

Schau dir die Doku nochmal genau an. strrev() arbeitet "in place", d.h. 
der Input-String wird direkt verändert. Der Rückgabewert ist einfach der 
unveränderte Parameter, kann also ignoriert werden.

Ergo einfach nur:
1
strrev(Zeichen);

Dass die Funktion nicht sonderlich bekannt ist könnte dadran liegen, 
dass sie keine Standardfunktion (insbesondere keine C-Standardfunktion) 
ist, sondern zur publib-Library von Lars Wirzenius gehört.

Andreas

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren