Vectorelemente löschen
-
Hi, ich hab folgendes Problem.
Ich hab einen Vectorvector<char> Feld;
Nun will ich aus diesem Vector Elemnte löschen. Und zwar soll er alle Elemtente vom Index i bis Index j löschen.
Hab gelen dass das mit iteratoren gehen soll... kriegs aber nicht hin.
Kann mir jemand helfen?
-
-
Dankle Danke...
Hast mir echt geholfen
-
Ok, noch ein Problem.
Ich leg ne Datei an, und zwar so:fstream neuDat("stripped.html", ios::out);
Der Dateiname is ja dann stripped.html...
Wie kann ich als Dateiname eine variable (string) nehmen, die vorher eingelesen wurde + die Endung stripped machen?
-
std::string szFilename = "test"; // wo auch immer du das her hast ;-) szFilename.substr(0, szFilename.rfind(".")); szFilename.append(".stripped"); // oder szFilename += ".stripped"; std::ofstream file(szFilename.c_str(), ios::out); // usw usw
[edit]
jetzt hab ich dich glaub ich erst verstanden du möchtest aus html -> stripped machen ?
-
miller_m schrieb:
szFilename.substr(0, szFilename.rfind("."));
Davon abgesehen, dass szFilename ein genial falscher Name ist, ändert diese Zeile den String nicht, sondern gibt einen neuen zurück. Vielleicht wäre resize() hier angebrachter.
-
Habs nun hingekriegt...
Habs so gemacht:neudateiname = dateiname + ".stripped"; fstream Datei(dateiname.c_str(),ios::in); fstream neuDat(neudateiname.c_str(), ios::out);
-
Oh, so meintest du das
Da könntest du auch schreiben:
ifstream Datei(dateiname.c_str()); ofstream neuDat(neudateiname.c_str());
Ob das praktisch einen Unterschied macht, weiß ich nicht, aber es ist kürzer
-
operator void schrieb:
Ob das praktisch einen Unterschied macht, weiß ich nicht, aber es ist kürzer
macht tollen unerschied. ich kann nicht aus versehen in nen istream schreiben, weil der schreibeoperator dafür gar nicht überladen ist. also wieder ein fehler, der zur compilezeit entdeckt werden tun kann.