Forum: PC-Programmierung C Funktion - Pfad extrahieren


von Boxi B. (boxi)


Lesenswert?

ich suche eine C-Funktion, die aus einem String, z.B.

"d:\\dir1\\dir2\\dir3\\file"

-> "d:\\dir1\\dir2\\dir3"

macht.

Gibt's sowas schon fertig?
Danke

von C is schee (Gast)


Lesenswert?

Du könntest den String mit strtok() aufdröseln und aus den generierten 
Tokens den Pfad wieder zusammensetzen, siehe:
http://www.elook.org/programming/c/strtok.html

Oder Du könntest einen Pointer auf das letzte Zeichen setzten und 
solange nach links rücken, bis Du auf den ersten Backslash triffst. An 
der Stelle brichst Du ab und kopierst Dir bis dorthin einen neuen String 
zam. :-)

von Jochen64 (Gast)


Lesenswert?

Aus MS Visual Studio Help:

void _splitpath(
   const char *path,
   char *drive,
   char *dir,
   char *fname,
   char *ext
);
void _wsplitpath(
   const wchar_t *path,
   wchar_t *drive,
   wchar_t *dir,
   wchar_t *fname,
   wchar_t *ext
);

von Boxi B. (boxi)


Lesenswert?

Danke Jochen,

das war's was ich suchte.

von Sven P. (Gast)


Lesenswert?

POSIX-Funktion: dirname

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.