Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Mengubah Direktori Kerja Semasa dalam C?

Bagaimana untuk Mengubah Direktori Kerja Semasa dalam C?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-10-29 04:19:02427semak imbas

How to Change the Current Working Directory in C  ?

Mengubah Direktori Kerja Semasa dalam C

Keperluan untuk melaraskan direktori kerja semasa sering ditemui apabila bekerja dengan fail dan I/O operasi. C menawarkan penyelesaian bebas platform untuk tugas ini melalui penggunaan fungsi std::filesystem::current_path.

C 17 Solution: std::filesystem::current_path

Dalam C 17, pustaka sistem fail std:: menyediakan API merentas platform untuk operasi sistem fail. Fungsi std::filesystem::current_path membenarkan kedua-dua mendapatkan semula dan menetapkan direktori kerja semasa.

Contoh:

<code class="cpp">#include <filesystem>

int main() {
    namespace fs = std::filesystem;

    // Retrieve the current working directory
    fs::path current_path = fs::current_path();

    // Set the current working directory
    fs::current_path(current_path / "new_directory");
}</code>

Dalam contoh ini, kami mula-mula mendapatkan semula direktori kerja semasa menggunakan fungsi current_path dan simpannya dalam objek fs::path. Kemudian kita boleh menggunakan objek fs::path ini untuk menetapkan direktori kerja semasa kepada laluan baharu, dalam kes ini, subdirektori "new_directory".

Keserasian

Pustaka std::filesystem tersedia dalam C 17 dan lebih baru. Untuk versi C yang lebih lama, pilihan khusus platform tersedia, seperti direct.h untuk Windows atau unistd.h untuk sistem UNIX/POSIX. Walau bagaimanapun, pilihan ini tidak mempunyai kemudahalihan std::filesystem::current_path.

Atas ialah kandungan terperinci Bagaimana untuk Mengubah Direktori Kerja Semasa dalam C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn