Linux C ++文件权限被拒绝

时间:2013-03-30 00:58:31

标签: c++ linux

ls -alR | myprogram

如果存在我无权访问的文件,则会显示错误消息,例如“文件权限被拒绝”。但是如何在我的程序中检测到这个错误?我试图测试stderr中是否有数据。但这似乎不起作用。

1 个答案:

答案 0 :(得分:0)

对于你当前的问题,你只是在这里管道stdout。要捕获stdout和stderr,请执行以下操作:

ls -alR 2>&1 | myprogram

请参阅Bash手册中的http://www.gnu.org/software/bash/manual/bashref.html#Pipelines

然而,目前尚不清楚为什么要这样做。如果你想以编程方式对目录列表进行处理,那么除了解析ls的输出之外,还有更好的方法。如果您编辑问题以描述您的总体目标,我可以提供更具体的建议......