canonicalize_file_name -
正規化された絶対パス名を返す
#define _GNU_SOURCE /*
feature_test_macros(7) 参照 */
#include <stdlib.h>
char *canonicalize_file_name(const char *path);
canonicalize_file_name() 関数は
path
に対応する正規化された絶対パス名を示すヌル終端された文字列を返す。返された文字列では、シンボリックリンクや、パス名に含まれる
. や
..
は展開される。連続するスラッシュ
(
/)
文字はスラッシュ一つに置換される。
返される文字列は
canonicalize_file_name()
により動的に割り当てられる。呼び出し側は、必要なくなった際にはこの文字列を
free(3)
で解放すべきである。
canonicalize_file_name(path)
は以下と等価である。
realpath(path, NULL);
成功すると、
canonicalize_file_name()
はヌル終端された文字列を返す。エラーの場合
(例えば、パス名の中に読み込めなかったり存在しないパスが含まれている場合など)、
canonicalize_file_name() は NULL を返し、
errno
にエラー内容を示す値を設定する。
realpath(3) 参照。
この節で使用されている用語の説明については、
attributes(7) を参照。
インターフェース |
属性 |
値 |
canonicalize_file_name() |
Thread safety |
MT-Safe |
この関数は GNU
による拡張である。
readlink(2),
realpath(3)
この man ページは Linux
man-pages
プロジェクトのリリース
5.10
の一部である。プロジェクトの説明とバグ報告に関する情報は
https://www.kernel.org/doc/man-pages/
に書かれている。