1.3 KiB
1.3 KiB
Name
dirname - get a file's containing directory path
Synopsis
#include <libgen.h>
char* dirname(char* path);
Description
Given a file path, dirname()
returns a path to the directory that contains the
file. dirname()
works purely lexically, meaning it only manipulates the path
as a string, and does not check if such a file or its containing directory
actually exist.
A call to dirname()
may reuse and modify the passed in path
buffer. Do not
expect it to have the same value after calling dirname()
.
Return value
dirname()
returns the directory path as a string. This string may be allocated
in static memory, or it may point to some part of the original path
buffer.
Do not free()
the returned string, and do not free()
the original path
buffer while using the returned string.
Examples
#include <AK/LogStream.h>
#include <libgen.h>
int main()
{
char path1[] = "/home/anon/ReadMe.md";
dbg() << dirname(path1); // should be "/home/anon"
char path2[] = "foo/bar/";
dbg() << dirname(path2); // should be "foo"
char path3[] = "foo";
dbg() << dirname(path3); // should be "."
char path4[] = "/";
dbg() << dirname(path4); // should be "/"
}