Membuat direktori di C++ lebih dari sekedar tugas sepele. Ini menggali fungsi rumit dalam struktur komputasi dan menyajikan fungsi penting manipulasi sistem file. Berurusan dengan direktori – membuat, menghapus, atau membaca – adalah bagian penting dari pemrograman tingkat OS. Memahami 'mkdir', cara kerjanya, dan detail kecilnya terbukti bermanfaat bagi siapa pun yang berurusan dengan pemrograman C++.
C++ tidak memiliki dukungan asli untuk membuat direktori, jadi kita perlu menggunakan fungsionalitas khusus platform. Cara umum untuk melakukan ini adalah dengan menggunakan fungsi mkdir yang disediakan oleh standar POSIX, yang sebagian besar tersedia pada sistem mirip UNIX.
#include
#include
int main ()
{
if(mkdir("direktori_baru", 0777) == -1)
{
perror("tidak dapat membuat direktori");
1 kembali;
}
0 kembali;
}
Menjelajahi Fungsi `mkdir` Secara Mendalam
The fungsi mkdir dideklarasikan dalam file header sys/stat.h dan sys/types.h adalah apa yang telah kami gunakan. Tujuannya adalah untuk membuat direktori baru dengan nama 'direktori_baru'. Jika fungsi mengalami masalah apa pun selama proses pembuatan, fungsi akan mengembalikan -1.
Dalam kode kita, jika mkdir mengembalikan -1, kita mencetak pesan kesalahan yang sesuai menggunakan fungsi perror. Nomor 0777 yang diteruskan ke mkdir adalah izin akses yang ingin kita atur untuk direktori baru. Artinya semua orang bisa membaca, menulis, dan mengeksekusi file di direktori yang kita buat.
Peran Perpustakaan dalam Fungsi mkdir
The file header sys/stat.h dan sys/types.h menyediakan berbagai konstanta dan tipe simbolik, dan fungsi untuk memanipulasi sistem file. Memasukkan ini ke dalam kode kita memungkinkan penggunaan beberapa konstanta dan fungsi tertentu dalam operasi mkdir kita.
Untuk membuat direktori dalam C++, penting untuk dicatat bahwa tidak ada fungsi bawaan untuk melakukannya. Oleh karena itu, penggunaan perpustakaan yang tepat sangat penting untuk mencapai hasil yang diinginkan. Dalam beberapa kasus, pengembang dapat memilih untuk menggunakan perpustakaan boost::filesystem, yang menyediakan fungsi portabel untuk menangani jalur, file, dan direktori.
Solusi Alternatif
Selain POSIX, Anda juga dapat menggunakan panggilan API asli, yang berbeda berdasarkan sistem operasi yang mendasarinya.
Salah satu alternatif tersebut adalah fungsi 'CreateDirectory' di Windows API:
#include
int main ()
{
if(!BuatDirektori("direktori_baru", NULL))
{
1 kembali;
}
0 kembali;
}
Pustaka atau API tersebut menyediakan fungsi yang diperlukan untuk melakukan tindakan kompleks, menjembatani kesenjangan ketika kemampuan asli C++ pada awalnya tidak mencukupi. Oleh karena itu, setiap perpustakaan atau API memiliki keunikannya sendiri dan menyediakan berbagai sudut pandang untuk menangani penanganan direktori di C++.