当前位置: 首页 > 面试题库 >

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

陶鸿畴
2023-03-14
问题内容

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

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


问题答案:

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

此功能的POSIX.1-2001标准版本在设计上已被破坏,因为无法确定输出缓冲区 resolve_path
的合适大小。根据POSIX.1-2001,大小为 PATH_MAX 的缓冲区就足够了,但是 PATH_MAX
不必是定义的常数,可能必须使用pathconf(3)获得。询问pathconf(3)并没有真正的帮助,因为POSIX一方面警告pathconf(3)的结果可能很大且不适合分配内存,另一方面,
pathconf(3)可能会将-1返回至表示 PATH_MAX 没有边界。




 类似资料:
  • 问题内容: 显然,这比我想象的要难找到。而且甚至很简单… 是否有与Javascript中内置的PHP htmlspecialchars等效的功能?我知道自己很容易实现,但是使用内置函数(如果可用)会更好。 对于不熟悉PHP的人,htmlspecialchars可将类似的内容转换为 我知道这一点,因此不能这样工作。 问题答案: 解决方案代码存在问题-它只会转义每个特殊字符的第一次出现。例如: 这是正

  • 问题内容: 我有一个byte [],想将其复制到另一个byte []中。也许我在这里展示了我的简单“ C”背景,但是在Java字节数组中是否有等同于memcpy()的东西? 问题答案: 您可以尝试或使用阵列功能,在像类。两者都应在引擎盖下为您提供本机性能。 Arrays.copyOf可能对可读性有利,但仅在Java 1.6中引入。

  • 我已经确定,对于我的数据集,使用并行流确实比使用串行流快。说到这里,我想知道使用的ForkJoinPool的情况,正如在这个问题中所讨论的:Java8并行流中的自定义线程池。 考虑到这一点, 对于将使用的池,是否低于1和2的当量? 2) 如果答案是肯定的,那么方法为什么存在呢?

  • 问题内容: 有没有类似于unix命令的Java库? 即: file命令是一个很好的工具。我需要一些可以告诉我文件是否确实是我想要的东西的东西。(即图片,文档等) 我知道我可以运行该命令,但是我正在寻找一个Java库,而不是运行实际的unix命令。 问题答案: 在Google上进行快速搜索(对于公认的非显而易见的) “ java魔术文件检测” 会弹出一个相当不错的文章,“从文件中获取Mime类型”,

  • 问题内容: 我正在从Windows编程(我指的是Windows编程)转向Linux编程。 对于Windows编程,我们可以选择Win32API(MFC只是一个C ++包装器)。 我想知道是否有直接暴露给程序员的东西(相当于WINAPI)?在哪里可以找到参考? 就我对POSIX库的一点了解而言,我发现它包装了的 一部分 。但是 创建GUI应用程序呢? POSIX不提供该功能。我知道有大量的第三方Wi

  • 问题内容: 他们是一样的还是不是?如果是的话,为什么read在方法内部使用但可以正常工作时却出现此错误? 尝试在提供程序的方法或update回调内部使用。 问题答案: 好吧,他们不一样。 您不应该在方法内部使用。相反,坚持旧的是金色图案: 当您想在回调中使用上述模式时使用,例如,当按下按钮时,可以说它们都在执行相同的操作。