
pathname(+FilePath, -Path, -BaseName, -Suffix)

   Decomposes a filename into its directory path, base name and suffix

Arguments
   FilePath            String or atom.
   Path                Variable or string.
   BaseName            Variable or string.
   Suffix              Variable or string.

Type
   Operating System

Description
   This predicate is used to decompose FilePath which is either a relative
   or absolute pathname of a file, into three components, namely the pathname
   of its parent directory including the trailing "/" if any, the `base'
   name of the file (the plain file name without the suffix), and the
   suffix, if any. The concatenation of Path, BaseName and Suffix yields
   the original filename FilePath.


Modes and Determinism
   pathname(+, -, -, -) is det

Exceptions
     4 --- FilePath is not instantiated.
     5 --- FilePath is neither a string nor an atom.
     5 --- Path, BaseName or Suffix is neither a string nor a variable.

Examples
   
Success:

     [eclipse]: pathname("/home/user/userfile.pl", P, B, S).

     P = "/home/user/"
     B = "userfile"
     S = ".pl"
     yes.

      [eclipse]: pathname("/home/user/userfile", P, B, S).
      P = "/home/user/"
      B = "userfile"
      S = ""
      yes.

Fail:
      pathname("/home/file.pl","/home/","file", "pl").

Error:
      pathname(F,P,R,S).                 (Error 4).
      pathname("/home/file.pl",P,file,'.pl')    (Error 5).





See Also
   pathname / 3, split_string / 4, join_string / 3, canonical_path_name / 2
