inString.replace() Probleme

Hallo! Ich habe folgendes Problem mit einem String..

Es geht darum eine URL zu übergeben und da werden die Leerschläge zu einem +. Nun möchte ich alle + in einem String mit einem Leerschlag ersetzen. Dachte ich könnte es mit diesem Befehl hinbekommen, denkste!

inString.replace(char * ("+"),char * (" "));

error: expected primary-expression before 'char'

:-?

inString wird als string deklariert. Und ich verwende die neueste WString.h Library. Tipps & Hinweise? ;)

Sollte

inString.replace(char * ("+"),char * (" "));

nicht besser

inString.replace('+', ' ');

sein?

Und noch eine Frage am Rande: wo nennt man das Leerzeichen "Leerschlag"? Das habe ich so noch nie gehört.

Gruß, Udo

Hallo Udo,

sowas sagt man auch nur in der Schweiz.. Leerzeichen = Leerschlag.. Egal :D

Es funktionierte mit einem ' anstatt einem ". Warum? Irgendwie verstehe ich es nicht genau.

Aufjedenfall vielen Dank!

" definiert char-Arrays oder Strings, während ' ein einzelnes char definiert.

Deine Funktion scheint (ohne sie zu kennen) nur für einzelne chars zu funktionieren.

@B00lean:

Es wäre wohl auch so

inString.replace((char) * ("+"),(char) * (" "));

gegangen.

Lies mal in irgendeinem C Buch den Unterschied zwischen den folgenden Ausdrücken nach:

"x"
'x'
* "x"
(char) * "x" 
char * "x"

Vor allem schau mal nach wie man Casts in C schreibt. Dann klingelt's schon irgendwann ;)

Gruß, Udo