如何将ls命令的输出结果保存到C++数组中

3
有没有一种方法从C++中运行linux命令ls,将所有输出存储在一个数组中?
谢谢。

是否为 https://dev59.com/6XRB5IYBdhLWcg3w4bGv#479103 的副本? - alestanis
1个回答

5

如果您坚持要运行ls,您可以使用popen启动进程并读取输出:

FILE *proc = popen("/bin/ls -al","r");
char buf[1024];
while ( !feof(proc) && fgets(buf,sizeof(buf),proc) )
{
    printf("Line read: %s",buf);
}

不过,你最好自己读取目录内容和文件信息,使用opendirreaddir函数。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接