【发布时间】:2011-06-01 10:58:46
【问题描述】:
我正在尝试查找文件路径中具有“其他 exec”权限的所有子文件夹。
我尝试使用strtok(path_str,"/") 来破坏路径字符串,但是当使用stat() 作为我运行的进程根目录的子目录时,我收到“不是文件或文件夹”错误。
关于如何克服此错误的任何建议?
【问题讨论】:
-
只需将您输入的路径名记录到
stat()。我敢打赌,您的字符串拆分算法有误。顺便看看dirname()函数。 -
我们能否看到重现您症状的最小工作代码,并了解您遇到的实际
errno?快速阅读表明您天真地 stat()ing 路径的各个组件名称,即标记“path/to/something”和 stat()ing “path”(ok)、“to”(ENOENT,可能)和“某物”(可能是 ENOENT)。然而,没有代码,一切都是猜测。 -
pilcrow,你是对的。这是我的问题,如果我从执行该过程的目录中统计()“to”,则找不到它,从而导致错误。那么,我还能遇到这种情况吗?