c++ - 如何将ls命令的输出输出到C++中的数组

use*_*421 3 c++ linux arrays ls output

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

谢谢

mvd*_*vds 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);
}
Run Code Online (Sandbox Code Playgroud)

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