.\" License.
.\" Created, 14 Dec 2000 by Michael Kerrisk
.\"
-.\" Japanese Version Copyright (c) 2001 NAKANO Takeo all rights reserved.
-.\" Translated 2001-03-31, NAKANO Takeo <nakano@apm.seikei.ac.jp>
-.\" Updated 2005-02-26, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>
-.\" Updated 2007-05-01, Akihiro MOTOKI, LDP v2.46
+.\"*******************************************************************
.\"
-.TH BASENAME 3 2009-03-30 "GNU" "Linux Programmer's Manual"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.TH BASENAME 3 2009\-03\-30 GNU "Linux Programmer's Manual"
.SH 名前
basename, dirname \- パス名を解析して各部分を取り出す
.SH 書式
.nf
-.B #include <libgen.h>
+\fB#include <libgen.h>\fP
.sp
-.BI "char *dirname(char *" path );
+\fBchar *dirname(char *\fP\fIpath\fP\fB);\fP
-.BI "char *basename(char *" path );
+\fBchar *basename(char *\fP\fIpath\fP\fB);\fP
.fi
.SH 説明
-警告:
-.BR basename ()
-には異なるバージョンが 2つ存在する。下記の「注意」の節を参照のこと。
+警告: \fBbasename\fP() には異なるバージョンが 2つ存在する。下記の「注意」の節を参照のこと。
.LP
-.BR dirname ()
-と
-.BR basename ()
-は、NULL で終端されたパス名の文字列を、
-ディレクトリ部分・ファイル名部分に分割する。
-通常は、
-.BR dirname ()
-は最後の \(aq/\(aq までの部分 (最後の \(aq/\(aq は含まない) を返し、
-.BR basename ()
-は最後の \(aq/\(aq 以降の部分を返す。
-文字列の末尾についた \(aq/\(aq 文字は、パス名の一部とはみなされない。
+\fBdirname\fP() と \fBbasename\fP() は、NULL で終端されたパス名の文字列を、 ディレクトリ部分・ファイル名部分に分割する。
+通常は、 \fBdirname\fP() は最後の \(aq/\(aq までの部分 (最後の \(aq/\(aq は含まない) を返し、
+\fBbasename\fP() は最後の \(aq/\(aq 以降の部分を返す。 文字列の末尾についた \(aq/\(aq
+文字は、パス名の一部とはみなされない。
.PP
-.I path
-に '/' 文字がない場合は、
-.BR dirname ()
-は文字列 "." を返し、
-.BR basename ()
-は
-.I path
-と同じ内容を返す。
-.I path
-が文字列 "/" に等しい場合は、
-.BR dirname ()
-も
-.BR basename ()
-も文字列 "/" を返す。
-.I path
-が NULL ポインタだったり、空の文字列を指していた場合は、
-.BR dirname ()
-も
-.BR basename ()
+\fIpath\fP に '/' 文字がない場合は、 \fBdirname\fP() は文字列 "." を返し、 \fBbasename\fP() は \fIpath\fP
+と同じ内容を返す。 \fIpath\fP が文字列 "/" に等しい場合は、 \fBdirname\fP() も \fBbasename\fP() も文字列 "/"
+を返す。 \fIpath\fP が NULL ポインタだったり、空の文字列を指していた場合は、 \fBdirname\fP() も \fBbasename\fP()
も文字列 "." を返す。
.PP
-.BR dirname ()
-の返した文字列、 "/"、
-.BR basename ()
-の返した文字列、
-を順に結合すると、完全なパス名が得られる。
+\fBdirname\fP() の返した文字列、 "/"、 \fBbasename\fP() の返した文字列、 を順に結合すると、完全なパス名が得られる。
.PP
-.BR dirname ()
-と
-.BR basename ()
-は、いずれも
-.I path
-の内容を変更することがある。
-したがって、これらの関数を呼び出す際には
-コピーを渡すのが望ましい。
+\fBdirname\fP() と \fBbasename\fP() は、いずれも \fIpath\fP の内容を変更することがある。
+したがって、これらの関数を呼び出す際には コピーを渡すのが望ましい。
.PP
-これらの関数は、静的に割り当てられたメモリへのポインタを返すことがあり、
-これらの領域は後の関数呼び出しで上書きされるかもしれない。
-また、これらの関数は
-.I path
-の一部分を指すポインタを返すこともある。そのため、
-.I path
-で参照される文字列は、関数が返すポインタが不要になるまでは
-変更したり free したりすべきではない。
+これらの関数は、静的に割り当てられたメモリへのポインタを返すことがあり、 これらの領域は後の関数呼び出しで上書きされるかもしれない。
+また、これらの関数は \fIpath\fP の一部分を指すポインタを返すこともある。そのため、 \fIpath\fP
+で参照される文字列は、関数が返すポインタが不要になるまでは 変更したり free したりすべきではない。
.PP
-以下の一連の例 (SUSv2 から引用) は、
-いろいろな path に対して
-.BR dirname ()
-と
-.BR basename ()
+以下の一連の例 (SUSv2 から引用) は、 いろいろな path に対して \fBdirname\fP() と \fBbasename\fP()
が返す文字列を表したものである。
.sp
.nf
-.B "path dirname basename"
+\fBpath dirname basename\fP
"/usr/lib" "/usr" "lib"
"/usr/" "/" "usr"
"usr" "." "usr"
".." "." ".."
.fi
.SH 返り値
-.BR dirname ()
-と
-.BR basename ()
-は、いずれも NULL で終端された文字列へのポインタを返す。
-(これらのポインタを
-.BR free (3)
-に渡さないこと。)
+\fBdirname\fP() と \fBbasename\fP() は、いずれも NULL で終端された文字列へのポインタを返す。 (これらのポインタを
+\fBfree\fP(3) に渡さないこと。)
.SH 準拠
-POSIX.1-2001.
+POSIX.1\-2001.
.SH 注意
-.BR basename ()
-には 2種類の異なるバージョンがある。
-一つはすでに説明した POSIX バージョンであり、
-もう一つは GNU バージョンである。
-GNU バージョンを使用するには以下のようにする。
+\fBbasename\fP() には 2種類の異なるバージョンがある。 一つはすでに説明した POSIX バージョンであり、 もう一つは GNU
+バージョンである。 GNU バージョンを使用するには以下のようにする。
.br
.nf
-.BR " #define _GNU_SOURCE" " /* feature_test_macros(7) 参照 */"
+\fB #define _GNU_SOURCE\fP /* feature_test_macros(7) 参照 */
.br
-.B " #include <string.h>"
+\fB#include <string.h>\fP
.fi
-GNU バージョンは引き数を変更することはなく、
-.I path
-の末尾が '/'の場合は空の文字列を返す。
-特に
-.I path
-が "/" の場合も空文字列を返す。
-.BR dirname ()
-には GNU バージョンはない。
+GNU バージョンは引き数を変更することはなく、 \fIpath\fP の末尾が '/'の場合は空の文字列を返す。 特に \fIpath\fP が "/"
+の場合も空文字列を返す。 \fBdirname\fP() には GNU バージョンはない。
.LP
-glibc では、
-.I <libgen.h>
-をインクルードすると POSIX バージョンの
-.BR basename ()
+glibc では、 \fI<libgen.h>\fP をインクルードすると POSIX バージョンの \fBbasename\fP()
が使用され、それ以外の場合は GNU バージョンとなる。
.SH バグ
-glibc の POSIX バージョンの実装では、引き数の内容が変更され、
-引き数に ("/usr/" などの) 定数文字列を指定されると
-セグメンテーションフォールトを起こす。
-バージョン 2.2.1 以前の glibc では、 glibc の
-.BR dirname ()
-は末尾が \(aq/\(aq 文字になっているパス名を正しく扱えず、
-引き数が NULL だとセグメンテーションフォールトを起こした。
+glibc の POSIX バージョンの実装では、引き数の内容が変更され、 引き数に ("/usr/" などの) 定数文字列を指定されると
+セグメンテーションフォールトを起こす。 バージョン 2.2.1 以前の glibc では、 glibc の \fBdirname\fP() は末尾が
+\(aq/\(aq 文字になっているパス名を正しく扱えず、 引き数が NULL だとセグメンテーションフォールトを起こした。
.SH 例
.in +4n
.nf
basec = strdup(path);
dname = dirname(dirc);
bname = basename(basec);
-printf("dirname=%s, basename=%s\\n", dname, bname);
+printf("dirname=%s, basename=%s\en", dname, bname);
.fi
.in
.SH 関連項目
-.BR basename (1),
-.BR dirname (1)
+\fBbasename\fP(1), \fBdirname\fP(1)