3

有没有办法从 c++ 运行 linux 命令 ls,并在 c++ 中将所有输出存储在一个数组中?

谢谢

4

1 回答 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);
}

但是您最好自己阅读目录内容和文件信息,使用opendirand readdir

于 2012-10-20T09:55:38.447 回答