在linux / unix下是否有等同于WinAPI的MAX_PATH?

如果我想分配一个char数组(用C表示),该数组保证足够大以容纳任何有效的绝对路径名和文件名,那么它需要多大。

在Win32上,有MAX_PATH定义。Unix / linux相当于什么?

回答:

有一个PATH_MAX,但是有点问题。从realpath(3)手册页的bug部分中:

此功能的POSIX.1-2001标准版本在设计上已被破坏,因为无法确定输出缓冲区 resolve_path

的合适大小。根据POSIX.1-2001,大小为 的缓冲区就足够了,但是

不必是定义的常数,可能必须使用pathconf(3)获得。询问pathconf(3)并没有真正的帮助,因为POSIX一方面警告pathconf(3)的结果可能很大且不适合分配内存,另一方面,

pathconf(3)可能会将-1返回至表示 没有边界。

以上是 在linux / unix下是否有等同于WinAPI的MAX_PATH? 的全部内容, 来源链接: utcz.com/qa/398147.html

回到顶部