Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Dateiname aus Pfad holen

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 < [ 2 ]
000
03.06.2004, 14:15 Uhr
~Se
Gast


Hi.
Ich habe zwei Strings. In einem steht der komplette Pfad zu einer Datei (mit Laufwerkbuchstabe, Ordner etc.) und ich will, dass im zweiten String nur der Dateiname steht.

z.B.: "C:\Bla\Blub.ups" -> "Blub.ups"

Danke für alle Antworten =)

Dieser Post wurde am 03.06.2004 um 14:59 Uhr von Pablo editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
03.06.2004, 14:20 Uhr
~Ma
Gast


Kannst du nicht einfach die Strings subtrahieren?
Also den Dateipfad aus dem String herausfiltern?.

Wie das geht weiß ich allerdings nicht, wollte dir nur den Denkanstoß geben.

Wünsche dir trotzdem gutes Gelingen


Gruß
Ma
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
03.06.2004, 14:22 Uhr
~Se
Gast


Danke Ma. Ich weiß jetzt genausoviel wie vorher. :p
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
03.06.2004, 14:57 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


einfach von hinten den ersten backslash suchen...
alles was davor steht ist der dateiname...
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
03.06.2004, 17:01 Uhr
~Sebastian
Gast


Hast du dazu vielleicht ein Quellcodebeispiel, Windalf? Die einzelnen Befehle kenn ich nämlich leider nicht
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
03.06.2004, 17:58 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


öhm da gibt es gar kein befehl zu kennen...
auf die schnelle ungetestet so

C++:
char* getfilenamefrompath(char* path){
int i;
for(i=strlen(path);i&&path[i-1]!='\\';--i);
if(i)return &path[i];
return NULL;
}

int main(){
char path[128];
sprintf(path,"c:\\tralala\\xyz\\myfile.abc");
printf("%s\n",getfilenamefrompath(path));
}


--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
03.06.2004, 18:06 Uhr
~Sebastian
Gast


Das Beispiel arbeitet aber mit C-Strings. Ich benutze aber in meinem Programm die "Borland C++ Builder"-Strings. Kennst du auch ein Beispiel mit diesen Strings?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
03.06.2004, 18:10 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)



aber wenn ich mich nicht irre sind das so nen ansistring...

angenommen deinen borlandstring heisst stringname
pobiermal so


C++:
char path[512];
sprintf(path,"%s",stringname.c_str());
printf("%s\n",getfilenamefrompath(path));
}


--
...fleißig wie zwei Weißbrote

Dieser Post wurde am 03.06.2004 um 18:10 Uhr von Windalf editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
03.06.2004, 18:17 Uhr
~Sebastian
Gast


Deine Funktion gibt aber keinen AnsiString zurück. Den bräuchte ich nämlich noch... Aber trotzdem schonmal danke.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
03.06.2004, 18:24 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


wiso willst du eigentlich diesen dummen borlandstring nehmen... nimm wenn du c++ verwenden kannst lieber gleich einen std::string da gibts auch die methode find...

naja ist jetzt zwar gar nicht mehr schön aber so sollte es zumindest behelfsmässig funzen
angenommen du willst den dateinamen in den ansistring filename schreiben

C++:
char path[512];
sprintf(path,"%s",stringname.c_str());
filename=getfilenamefrompath(path));



eventuell gehts auch gleich so, weiss ich jetzt nicht auswendig ob er da mit dem const rumbldöelt

C++:
filename=getfilenamefrompath(stringname.c_str());


--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ]     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: