In linea di massima dovresti evitare di lanciare comandi esterni per parsarne l'output (operazione inefficiente e non sempre facilissima) e usare invece le funzioni che il sistema operativo ti mette a disposizione. Ad esempio, per ottenere la lista dei file puoi usare opendir/readdir/closedir su sistemi Unix-like, o FindFirstFile/FindNextFile/FindCloseFile su Windows.