Einzelnen Beitrag anzeigen

Schubi

Registriert seit: 4. Nov 2003
Ort: Happurg (Nürnberg)
331 Beiträge
 
Delphi 2006 Professional
 
#1

C++: fOpen -> Problem mit Dateiname

  Alt 31. Jan 2005, 13:21
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
Christian Schubert
Ich fange gerade erst an, den Umfang meiner Ahnungslosigkeit zu begreifen...
  Mit Zitat antworten Zitat