C语言中的`dirname`函数用于获取一个文件路径的目录部分。它的函数原型如下:
```c
#include
char *dirname(char *path);
```
其中,`path`为要提取目录的文件路径。`dirname`函数返回一个指向目录部分的字符串指针。
使用`dirname`函数的示例代码如下:
```c
#include
#include
int main() {
char path[] = "/usr/local/include/stdio.h";
char *dir = dirname(path);
printf("Directory: %s\n", dir);
return 0;
}
```
输出结果为:
```
Directory: /usr/local/include
```
注意事项:
- `dirname`函数会修改传入的路径字符串,使其指向目录部分的字符串。
- 如果传入的路径没有目录部分(例如只有文件名),`dirname`函数会返回一个点号(.)。
- `dirname`函数是非线程安全的,因为它使用了静态缓冲区来存储结果,所以在多线程环境中应该使用`dirname_r`函数来替代。`dirname_r`函数的使用方法与`dirname`函数类似,但需要传入一个额外的缓冲区。









