Go Down

Topic: inString.replace() Probleme (Read 559 times) previous topic - next topic

b00lean

Feb 22, 2010, 11:19 am Last Edit: Feb 22, 2010, 11:20 am by b00lean Reason: 1
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!

Code: [Select]
inString.replace(char * ("+"),char * (" "));[/color]  

error: expected primary-expression before 'char'

:-?

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

Udo Klein

Sollte

Code: [Select]
inString.replace(char * ("+"),char * (" "));

nicht besser

Code: [Select]
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
Check out my experiments http://blog.blinkenlight.net

b00lean

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!

Joghurt

#3
Feb 23, 2010, 11:53 am Last Edit: Feb 23, 2010, 11:54 am by Joghurt Reason: 1
" 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.

Udo Klein

@B00lean:

Es wäre wohl auch so

Code: [Select]

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


gegangen.

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

Code: [Select]

"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
Check out my experiments http://blog.blinkenlight.net

Go Up