Unix memiliki pustaka yang dapat melakukan operasi penggabungan file untuk Anda. Fungsi dan tipe dideklarasikan dalam sebuah header yang dipanggil glob.h
, jadi Anda akan membutuhkannya #include
. Jika membuka terminal, buka halaman manual untuk glob dengan mengetik, man 3 glob
Anda akan mendapatkan semua informasi yang perlu Anda ketahui untuk menggunakan fungsi.
Di bawah ini adalah contoh bagaimana Anda bisa mengisi array file yang cocok dengan pola globbing. Saat menggunakan glob
fungsi ini, ada beberapa hal yang perlu Anda ingat.
- Secara default,
glob
fungsi mencari file di direktori kerja saat ini. Untuk mencari direktori lain, Anda harus menambahkan nama direktori ke pola globbing seperti yang telah saya lakukan dalam contoh saya untuk memasukkan semua file /bin
.
- Anda bertanggung jawab untuk membersihkan memori yang dialokasikan
glob
dengan menelepon globfree
setelah Anda selesai dengan strukturnya.
Dalam contoh saya, saya menggunakan opsi default dan tidak ada kesalahan panggilan balik. Halaman manual mencakup semua opsi jika ada sesuatu di sana yang ingin Anda gunakan. Jika Anda akan menggunakan kode di atas, saya sarankan menambahkannya sebagai kategori NSArray
atau sesuatu seperti itu.
NSMutableArray* files = [NSMutableArray array];
glob_t gt;
char* pattern = "/bin/*";
if (glob(pattern, 0, NULL, >) == 0) {
int i;
for (i=0; i<gt.gl_matchc; i++) {
[files addObject: [NSString stringWithCString: gt.gl_pathv[i]]];
}
}
globfree(>);
return [NSArray arrayWithArray: files];
Sunting: Saya telah membuat intisari pada github yang berisi kode di atas dalam kategori yang disebut NSArray + Globbing .