Hallo zusammen!
So langsam denke ich ich bin zu blöd für C++.
Ich Will ne Datei mit fOpen auf machen, da muss ich ja so wie ich das jetz erforscht hab \ doppelt nehmen.
Also beispielsweise "c:\\test.dat".
Nun hol ich mir den Dateinamen mit nem Open-Dialog, der gibt nen String ohne doppelte \ zurück.
Also dachte ich mir ich verdopple die einfach mit folgendem Codeschnipsel:
Delphi-Quellcode:
char sString2[1024];
strcpy(sString2,ofn.lpstrFile);//Dateiname aus Opendialog in String kopieren
int len, i, addx;
addx = 0;
len = strlen(sString2);
for (i = 0; i < len; i++)
{
if (sString2[i]==92)//92 = "\"
{
sString[i+addx]=92;
addx++;
sString[i+addx]=92;
}
else
sString[i+addx] = sString2[i];
}
sString[i+addx]=0;//String abschließen
Pustekuchen, klappt net (Fehler beim Öffnen)!!!
Wenn ich allerdings den String net mit dem Open-Dialog einlese, sondern mit
strcpy(sString,"c:\\test.dat");
zuweise, geht es mit einmal. WO ist der Unterschied??????
Es kommt doch beide male der gleiche String raus, oder?
Mach ich was mit den Zeichen Falsch? Besteht ein Unterschied zwischen 2 mal 92 und "\\"???
Danke schonmal fürs durchlesen
Gruß, Schubi