AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein C++: fOpen -> Problem mit Dateiname
Thema durchsuchen
Ansicht
Themen-Optionen

C++: fOpen -> Problem mit Dateiname

Ein Thema von Schubi · begonnen am 31. Jan 2005 · letzter Beitrag vom 1. Feb 2005
Antwort Antwort
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
Benutzerbild von dizzy
dizzy

Registriert seit: 26. Nov 2003
Ort: Lünen
1.932 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: C++: fOpen -> Problem mit Dateiname

  Alt 31. Jan 2005, 13:24
Den Backslash ("\") brauchst du nur dann, wenn du im Quellcode einen String direkt angibst. Und zwar idR für alle Sonderzeichen. Den String deines OpenDialogs kannst du 1:1 in fOpen verwenden.

Gruss,
Fabian
Fabian K.
INSERT INTO HandVonFreundin SELECT * FROM Himmel
  Mit Zitat antworten Zitat
Schubi

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

Re: C++: fOpen -> Problem mit Dateiname

  Alt 31. Jan 2005, 13:30
also, ich hab nu probiert:
Den String aus dem Dialog nehme ich mit strcpy in sString rein, dann rufe ich fOpen auf, geht NICHT!
Ändere ich allerdings den String mit strcpy(sString,"c:\\test.dat"); Dann geht es mit einmal!

Aber warum geht es mit dem String aus dem Open-Dialog net?
Woran kann es dann liegen, wenn nicht an den doppelten "\"?
Christian Schubert
Ich fange gerade erst an, den Umfang meiner Ahnungslosigkeit zu begreifen...
  Mit Zitat antworten Zitat
Schubi

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

Re: C++: fOpen -> Problem mit Dateiname

  Alt 1. Feb 2005, 07:42
Habs rausgefunden...
Einer von diesen Fehlern, die man net findet.

Danke trotzdem!
Christian Schubert
Ich fange gerade erst an, den Umfang meiner Ahnungslosigkeit zu begreifen...
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:19 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz