Alphaneo
Alphaneo

Reputation: 12549

_splitpath in Linux

Is there a Linux equivalent of the Win32 API _splitpath function?
Details:

void _splitpath (
   const char *path,  // Path Input
   char *drive,       // Drive     : Output
   char *dir,         // Directory : Output
   char *fname,       // Filename  : Output
   char *ext          // Extension : Output
);

It takes full path as input and gives drive, directory, filename and extension as output.

Upvotes: 16

Views: 18617

Answers (3)

user211023
user211023

Reputation:

Use dirname() and basename().

Upvotes: 0

vartec
vartec

Reputation: 134641

dirname() and basename()

Upvotes: 13

unwind
unwind

Reputation: 399979

Not that I'm aware, no. What I'd do is:

  • Run the path through realpath(), to make it canonical
  • Just split it on the directory separator, i.e. the / character

Upvotes: 4

Related Questions