www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik strrev()! funktioniert wie ?


Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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 .

Autor: Lupin (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Andreas Ferber (aferber)
Datum:

Bewertung
0 lesenswert
nicht 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:
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

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Perfekt ! funktioniert ! Vielen Dank :-)

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.