Windows Forms und c++ in Visual Studio

druckgott

Erfahrenes Mitglied
Hallo,

ich habe in einem Array einen Dateipfad z.B.

Dateien[3] = c:\test\test.txt
jetzt will ich diesen ändern in:
c:\\test\\test.txt

das habe ich so versucht:
Einzeldatei = Dateien[3]->Replace("\","\\");
Das geht leider nicht. Wie schaffe ich es dass mir der \ in \\ ersetzte wird.

danke
 
ich habe in einem Array einen Dateipfad z.B.

Dateien[3] = c:\test\test.txt
jetzt will ich diesen ändern in:
c:\\test\\test.txt
Rein interessehalber: Wozu benötigst du die Konvertierung?
Die doppelten Backslashes müssen nur bei der String-Eingabe im Quelltext angegeben werden. Wenn du das Array programmtechnisch füllst - etwa mittels Directory.GetFiles - sind die Pfade schon korrekt gespeichert.

Gruß
MCoder
 
Hallo,

es gibt auch noch eine andere Möglichkeit der zuweisung:

C#:
string pfad = @"c:\test\test.txt";

Mit dieser schreibweise ersparst du dir die Escape-Sequenzen. Das funtkioniert auch bei anderen Formatierungen wie "\n" für New-Line usw..

Aber wie MCoder schon sagte, füllst du es Softwaresetig dann ist schon alles korrekt und du musst nichts mehr konvertieren, lässt du es vom Benutzer füllen rate ich dir trotzdem zu dieser Schreibweise, da viele (Nicht-Programmierer)Bentuzer mit Escapezeichen nicht nicht anzufangen wissen.

Gruß
 
Ok stimmt, geht auch ohne, habs wieder rausgenommen.

Danke aber immerhin weiß ich jetzt wie die Funktion geht ;-)
 
Zurück