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?
ich glaube, du luegst.
Was ist dein Test, dass es klappt (oder auch nicht)?
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
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??
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 :(
okay . problem solved. liegt an meinem VS 2010.