c - Linux 中的 PATH_MAX 定义在哪里?

我应该使用 #include 调用哪个头文件能够使用 PATH_MAX 作为 int 来调整字符串的大小?

我希望能够声明:

char *current_path[PATH_MAX];

但是当我这样做时,我的编译器(Linux 上的 Clang/LLVM)会发出以下错误:

recursive_find6.c:29:20: error: use of undeclared identifier 'PATH_MAX'
char *current_path[PATH_MAX];
                   ^

我尝试进行谷歌搜索,但仍然没有运气。

#include <limits.h>不能解决问题/错误。

PATH_MAX 的值是 int 是否也正确?

最佳答案

它在 linux/limits.h
#define PATH_MAX 4096/* # 路径名中的字符,包括 nul */

#include <linux/limits.h>

char current_path[PATH_MAX];

PATH_MAX 有一些缺陷,如 this blog 中所述(感谢 paulsm4)

https://stackoverflow.com/questions/9449241/

相关文章:

for-loop - 检测 'for'循环中最后一个元素的pythonic方法是什么?

python - 如何检查平面列表中是否有重复项?

linux - 如何指定编辑器来打开 crontab 文件? "export EDITOR=vi"不

linux - 如何设置 curl 以永久使用代理?

linux - 如何在不停止的情况下在 Docker 容器中运行 Nginx?

python - 查找列表中最常见的元素

c# - 在 Linux 上开发 C#

python - 有没有类似 RStudio for Python 的东西?

python - Ruby 相当于 virtualenv?

shell - 如何在后台运行命令并且没有输出?