|
|
PathWe define a path as an optional drive, followed by zero or more directory components, followed by an optional filename. The filename may be broken up into a basename and an extension, where the basename includes the start of the filename up to, but not including, the last dot (.) character. If no dot character exists the basename is the whole filename. The extension is everything from the last dot character to the end of the filename. al_append_path_componentAppend a directory component. al_clone_pathClones an ALLEGRO_PATH structure. Returns NULL on failure. al_join_pathsConcatenate two path structures. The first path structure is modified. If 'tail' is an absolute path, this function does nothing. If 'tail' is a relative path, all of its directory components will be appended to 'path'. tail's filename will also overwrite path's filename, even if it is just the empty string. Tail's drive is ignored. Returns true if 'tail' was a relative path and so concatenated to 'path', otherwise returns false. al_create_pathCreate a path structure from a string. The string may be NULL for an empty path. al_create_path_for_dirThis is the same as al_create_path, but interprets the passed string as a directory path. The filename component of the returned path will always be empty. al_drop_path_tailDrop the last directory component. al_is_path_presentReturn true if path represents an existing file on the system, or false if it doesn't exist. al_free_pathFree a path structure. Does nothing if passed NULL. al_get_path_basenameReturn the basename, i.e. filename with the extension removed. If the filename doesn't have an extension, the whole filename is the basename. If there is no filename part then the empty string is returned. The returned pointer is valid only until the filename part of the path is modified in any way, or until the path is destroyed. al_get_path_driveReturn the drive letter on a path, or the empty string if there is none. The "drive letter" is only used on Windows, and is usually a string like "c:", but may be something like "\\Computer Name" in the case of UNC (Uniform Naming Convention) syntax. al_get_path_extensionReturn a pointer to the start of the extension of the filename, i.e. everything from the final dot ('.') character onwards. If no dot exists, returns an empty string. The returned pointer is valid only until the filename part of the path is modified in any way, or until the path is destroyed. al_get_path_filenameReturn the filename part of the path, or the empty string if there is none. The returned pointer is valid only until the filename part of the path is modified in any way, or until the path is destroyed. al_get_path_componentReturn the i'th directory component of a path, counting from zero. If the index is negative then count from the right, i.e. -1 refers to the last path component. It is an error to pass an index which is out of bounds. al_insert_path_componentInsert a directory component at index i. If the index is negative then count from the right, i.e. -1 refers to the last path component. It is an error to pass an index i which is not within these bounds: 0 <= i <= al_get_path_num_components(path). al_make_path_absolutePrepends the current working directory to 'path' if it is a relative path. The drive is also set to the driver of the current working directory. Does nothing if 'path' is an absolute path. al_make_path_canonicalRemoves any leading '..' directory components in absolute paths. Removes all '.' directory components. Note that this does not collapse "x/../y" sections into "y". This is by design. If "/foo" on your system is a symlink to "/bar/baz", then "/foo/../quux" is actually "/bar/quux", not "/quux" as a naive removal of ".." components would give you. al_get_path_num_componentsReturn the number of directory components in a path. The directory components do not include the final part of a path (the filename). al_remove_path_componentDelete the i'th directory component. If the index is negative then count from the right, i.e. -1 refers to the last path component. It is an error to pass an index which is out of bounds. al_replace_path_componentReplace the i'th directory component by another string. If the index is negative then count from the right, i.e. -1 refers to the last path component. It is an error to pass an index which is out of bounds. al_set_path_driveSet the drive string on a path. The drive may be NULL, which is equivalent to setting the drive string to the empty string. al_set_path_filenameSet the optional filename part of the path. The filename may be NULL, which is equivalent to setting the filename to the empty string. al_set_path_extensionReplaces the extension of the path with the given one, i.e. replaces everything from the final dot ('.') character onwards, including the dot. If the filename of the path has no extension, the given one is appended. Usually the new extension you supply should include a leading dot. Returns false if the path contains no filename part, i.e. the filename part is the empty string. al_get_path_tailReturns the last directory component, or NULL if there are no directory components. al_path_cstrConvert a path to its string representation, i.e. optional drive, followed by directory components separated by 'delim', followed by an optional filename. To use the current native path separator, use ALLEGRO_NATIVE_PATH_SEP for 'delim'. The returned pointer is valid only until the path is modified in any way, or until the path is destroyed. |
Last updated: 2009-08-09 08:22:43 UTC