Intel® Fortran Compiler 18.0 Developer Guide and Reference
Portability Function: Breaks a file path or directory path into its components.
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 (.). |
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.
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