# SPLITPATHQQ

Portability Function: Breaks a file path or directory path into its components.

## Module

USE IFPORT

result = SPLITPATHQQ (path,drive,dir,name,ext)

path | (Input) Character*(*). Path to be broken into components. Forward slashes (/), backslashes (\), or both can be present in path.
drive | (Output) Character*(*). Drive letter followed by a colon.
dir | (Output) Character*(*). Path of directories, including the trailing slash.
name | (Output) Character*(*). Name of file or, if no file is specified in path, name of the lowest directory. A file name must not include an extension.
ext | (Output) Character*(*). File name extension, if any, including the leading period (.).

## Results

The result type is INTEGER(4). The result is the length of dir.

The path parameter can be a complete or partial file specification.

$MAXPATH is a symbolic constant defined in module `IFPORT.F90` as 260.

## Example

     USE IFPORT
     CHARACTER($MAXPATH) buf
     CHARACTER(3)        drive
     CHARACTER(256)      dir
     CHARACTER(256)      name
     CHARACTER(256)      ext
     CHARACTER(256)      file

     INTEGER(4)          length

     buf = 'b:\fortran\test\runtime\tsplit.for'
     length = SPLITPATHQQ(buf, drive, dir, name, ext)
     WRITE(*,*) drive, dir, name, ext
     file = 'partial.f90'
     length = SPLITPATHQQ(file, drive, dir, name, ext)
     WRITE(*,*) drive, dir, name, ext

     END

Parent topic: S

## See Also

FULLPATHQQ