FB18 - Das Forum für Informatik

fb18.de / Off-Topic / Hard- und Softwarefragen

c++ EINEN backslash in String einfügen

c++ EINEN backslash in String einfügen 2012-05-08 01:18
Anonymer User
Hallo
ein c++-Problem:


ich habe einen string und möchte eineb "\" einfügen.

Also:

string emil = "hallo du da"

soll werden zu: hallo du da \

string emil = "hallo du da" + "\\" und
emil.append("\\") fügen immer 2 BS an.

Jemand eine Lösung?

RE: c++ EINEN backslash in String einfügen 2012-05-08 10:36
Muelli
ich glaube, du luegst.

Was ist dein Test, dass es klappt (oder auch nicht)?

RE: c++ EINEN backslash in String einfügen 2012-05-08 12:45
Anonymer User
ich glaube, du luegst.

Was ist dein Test, dass es klappt (oder auch nicht)?

wie meinst das?

RE: c++ EINEN backslash in String einfügen 2012-05-08 14:08
Slater
Muelli hat offensichtlich die Vermutung ausgesprochen, dass der angegebene Code funktioniert,
der String 'emil' nur einen Backslash angefügt bekommt, was durch normale Ausgabe oder Prüfung der Länge bestätigt werden kann,

wie du zu deiner Erkenntnis '2 BS' kommst ist nicht ersichtlich und daher die Nachfrage,
am besten im kompletten Programm, also nachvollziehbar,
wenn du wer weiß wo 12 Methoden später nachschaust, kann ja alle Welt noch einen zweiten BS angefügt haben

RE: c++ EINEN backslash in String einfügen 2012-05-08 14:17
Anonymer User
Muelli hat offensichtlich die Vermutung ausgesprochen, dass der angegebene Code funktioniert,
der String 'emil' nur einen Backslash angefügt bekommt, was durch normale Ausgabe oder Prüfung der Länge bestätigt werden kann,

wie du zu deiner Erkenntnis '2 BS' kommst ist nicht ersichtlich und daher die Nachfrage,
am besten im kompletten Programm, also nachvollziehbar,
wenn du wer weiß wo 12 Methoden später nachschaust, kann ja alle Welt noch einen zweiten BS angefügt haben

achso. okay nu versteh ichs.

.... openFile (path + temp, _md5Daten); _md5Daten.filename = path.substr(subdata.aufrufpfad.size()+1) + "\\\" + _md5Daten.filename; //_md5Daten.filename.append('\\\'); subdata.md5FileDaten.push_back(_md5Daten); }
wobei

struct md5FileData { string md5hash; string filename; }; struct md5data { string aufrufpfad; //Aufrufpfad des Programmes vector <md5FileData> md5FileDaten; //Subpfad ab Aufrufpfad + hashwert };
im debugger stehten dann die beiden '\\' in der var. ebenso in der datei, in welche ich die var-werte reinschreibe..
liegt das evtl an Visual Studio 2010??

RE: c++ EINEN backslash in String einfügen 2012-05-08 14:21
Anonymer User
for (vector <md5FileData>::const_iterator it = md5daten.md5FileDaten.begin(); it!= md5daten.md5FileDaten.end(); it++)
{
cout << "test";
cout << it->md5hash << " *" << it->filename << endl;
}

gibt mir auch beide "\\" mit aus :(

RE: c++ EINEN backslash in String einfügen 2012-05-08 17:13
Anonymer User
okay . problem solved. liegt an meinem VS 2010.