basename
/
で終わる接頭辞を除外した文字列を返します。
string basename(const char *str)
basename
関数は、指定された文字列strのコピーから構成される文字列を生成しますが、ディレクトリ・パスなど/
で終わる接頭辞は付きません。返される文字列には、スクラッチ・メモリーからメモリーが割り当てられます。そのためこれは節の処理中にのみ有効です。使用できるスクラッチ・メモリーが不足している場合、basename
は実行されず、エラーが生成されます。
例7-3 basenameを使用して文字列内のパスの最後の要素を返す方法
BEGIN
{
printf("%s\n", basename("/foo/bar/baz"));
printf("%s\n", basename("/foo/bar///baz/"));
printf("%s\n", basename("/foo/bar/baz/"));
printf("%s\n", basename("/foo/bar/baz//"));
}
これらの各文は、次の出力をレンダリングします: baz
。