import Foundation // Get current working directory var wdbuf: [Int8] = Array(count: Int(MAXNAMLEN), repeatedValue: 0) let workingDirectory = getcwd(&wdbuf, UInt(MAXNAMLEN)) // Open the directory let dir = opendir(workingDirectory) if dir != nil { // Use readdir to get each element var dirent = readdir(dir) while dirent != nil { var name: [CChar] = Array() // dirent.d_name is defined as a tuple with // MAXNAMLEN elements. The only way to // iterate over those elements is via // reflection // // Credit: dankogi at http://stackoverflow.com/questions/24299045/any-way-to-iterate-a-tuple-in-swift let d_namlen = dirent.memory.d_namlen let d_name = dirent.memory.d_name let mirror = reflect(d_name) for i in 0..