REALPATH(3) | FreeBSD Library Functions Manual | REALPATH(3) |
名称
realpath — 正規化された絶対パス名を返すライブラリ
Standard C Library (libc, -lc)書式
#include < stdlib.h> char *
realpath( const char * restrict pathname, char * restrict resolved_path);
解説
realpath() 関数は、 pathname のすべてのシンボリックリンク、余分な“/”文字と /./ と /../ への参照を解決し、 resolved_path によって指されるメモリに結果の絶対パス名をコピーします。 resolved_path 引数は、少なくとも PATH_MAX 文字を格納できるバッファを指すか、または NULL でなければ なりません。realpath() 関数は、絶対パスと相対パスの両方を解決し、 pathname に対応する絶対パス名を返します。 pathname のすべての構成要素は、 realpath() が呼び出されたとき、存在していなければならず、最後の構成要素以外は、ディレクトリを指すディレクトリまたはシンボリックリンクのいずれかを指定しなければなりません。
戻り値
realpath() 関数は、成功すれば resolved_path を返します。関数が resolved_path として NULL が供給され、操作がエラーを生じなかったなら、返り値は、 malloc( 3) への呼び出しによって割り付けられたバッファのヌル文字で終了する文字列です。エラーが発生するなら、 realpath() は、 NULL を返し、 resolved_path が NULL でないなら、それが指す配列は、問題を引き起こしたパス名を含んでいます。エラー
関数 realpath() が失敗すると、ライブラリ関数 lstat(2), readlink(2), getcwd(3) で明記されている、いずれかのエラーが外部変数 errno に設定されます。関連項目
getcwd(3)歴史
realpath() 関数は、 4.4BSD ではじめて登場しました。警告
realpath() のこの実装は、Solaris 実装とわずかに異なります。 4.4BSD バージョンは、常に絶対パス名を返しますが、一方、Solaris の実装は、ある状況の下で、相対 pathname (パス名) を与えられるとき、相対的な resolved_path (解決パス) を返します。May 11, 2012 | FreeBSD |