.IndexOf(); und .Replace();

CantStOp

Grünschnabel
hi,
ich fass mich mal kurz:
1.ich möchte eine html datei einlesen
2. nach (_ID suchen
3. und dann das mit dem inhalt einer textbox ersetzen
ich habe es durch hilfe von anderen foren so weit geschaft, dass keine errors mehr kommen, jedoch wird (_ID trotzdem nicht ersetzt

woran kann das liegen?

Code:
  System::IO::StreamReader^ sr = gcnew System::IO::StreamReader( "C:\\html.html" );
  String^ datei = sr->ReadLine();
  int x = datei->IndexOf("(_ID");
  String^ id;
  id = x.ToString ();
  String^ box= textBox1->Text;
  datei->Replace(id,box);
  System::IO::StreamWriter sw("C:\\html.html");
  sw.Write(datei);
  sw.Close();

MfG
 
Hallo,

folgende Punkte sind mir aufgefallen:

  • Mit "ReadLine()" liest du nur die erste Zeile ein, aber nicht die gesamte Datei (falls es mehrere Zeilen gibt).
  • Was du mit dem Ergebnis von "IndexOf()" machst, ergibt eigentlich keinen Sinn: Du konvertierst die Position im Text in einen String und willst diesen dann ersetzen. Zum Ersetzen reicht doch schon ein:
C++:
datei->Replace("(_ID", box);
  • Das StreamReader-Objekt solltest du vor dem Aufruf des StreamWriters mit "Close()" schließen.
Gruß
MCoder
 
Hi,

Zu 1: hast recht könnte daran liegen
2:meinst du replace such das automatisch?
früher bei devcpp hatte ich das immer so gemacht zB: string.replace(string.find("lulu"),4,box;
3:eek:k werde mal versuchen

Vielen dank schon mal
Ich muss gerade noch was für die schule machen, kann mich erst morgen wieder darum kümmern:)

MfG
 

Neue Beiträge

Zurück