Backslash in Slash umwandeln
-
Original erstellt von Lars:
**Eben. Hier die verbesserte Versiontemplate<char cc> struct compare_char{ bool operator()(char c) { if(c == cc) return true; return false; } }; void replace(std::string& s) { replace_if(s.begin(), s.end(), compare_char<'\\'>(), '/'); } ```**
schwach :p
replace_if(s.begin(), s.end(), bind1st( equal_to<char>(), '\\'), '/');
und das zeigt das man bool noch nicht kapiert hat
if(c == cc) return true; return false; //ein return c == cc; // finde ich besser
-
Hallo,
seit ihr alle irre, oder bin ich doof?Warum nicht einfach:
replace(s.begin(), s.end(), '\\', '/');
?
Oder ist es jetzt cool völlig blödsinnigen Code zu schreiben oder die Algorithmen der STL als 'l33t' (was auch immer das heißen mag) zu bezeichen?
Falls der Fehler mal wieder bei mir liegt, bitte ich ihn zu entschuldigen.
Falls ich ausnahmsweise mal nicht falsch liegen sollte, rate ich dem einen oder anderen hier mal ein Buch über den effektiven Einsatz der STL zu studieren.
[ Dieser Beitrag wurde am 11.04.2003 um 00:06 Uhr von HumeSikkins editiert. ]
-
toll, Hume
da muss man einfach lachen
-
*lol*
[läster]Naja, das Stichwort heißt Iteration, Lars kam immerhin bis zum replace_if() an replace() heran, mit ein paar Posts mehr wäre das schon noch was geworden! ;)[/läster]
-
Bashar ist schuld er hat mich aufgestachelt
was ich noch erwähnen will, also so habe ich das zumindestenz in php mitbekommen wenn man ein \ in die db eintragen will muss man \\\ benutzen, einmal für php (bzw. c++) der daraus \\ macht und dann kommt ja noch der sql interpreter der macht dann aus den \\ ein \
-
in PHP kann man aber auch einfach alles in Singlequotes reintun.
naja, ein / ist IMHO trotzdem besser, als vier \
(besser = in dem Fall kürzer)
-
Original erstellt von Dimah:
**Bashar ist schuld er hat mich aufgestacheltwas ich noch erwähnen will, also so habe ich das zumindestenz in php mitbekommen wenn man ein \ in die db eintragen will muss man \\\ benutzen, einmal für php (bzw. c++) der daraus \\ macht und dann kommt ja noch der sql interpreter der macht dann aus den \\ ein **
stichwort:
magic_quotes
und du bist die probleme los
-
Original erstellt von Dimah:
**und das zeigt das man bool noch nicht kapiert hat
**das seh ich sonst nur bei anderen
-
Shade: ist magic_quotes nicht eine Server-Option? Dadurch dass man sich effektik auf beide Situationen einstellen muß hat man doch eher mehr Probleme als vorher.
-
Original erstellt von Bashar:
Shade: ist magic_quotes nicht eine Server-Option? Dadurch dass man sich effektik auf beide Situationen einstellen muß hat man doch eher mehr Probleme als vorher.du musst dich nicht auf beide situationen einstellen - du kannst die magic quotes auch zur runtime ein- und ausschalten.
also bei uns haben wir die versuche ohne magic quotes wieder abgewöhnt - zuviele fehlerquellen.
es ist einfach besser, wenn die datenbank selber die quotes setzt (schließlich weiß sie es ja besser)und ein
(achtung, PHP)
str); //oder so ähnlich, weiß jetzt leider nicht wie die funktion genau heißt
mysql_query(str);detto in C++ - wozu soll ich riskieren, dass ich einmal diese 'escape' funktion vergesse, wenn die DB es automatisch für mich machen kann?