basename
/で終わる接頭辞を除外した文字列を返します。
string basename(const char *str)
basename関数は、指定された文字列strのコピーから構成される文字列を生成しますが、ディレクトリ・パスなど/で終わる接頭辞は付きません。 返される文字列には、スクラッチ・メモリーからメモリーが割り当てられます。そのためこれは節の処理中にのみ有効です。 使用できるスクラッチ・メモリーが不足している場合、basenameは実行されず、エラーが生成されます。
例8-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。