Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah Saya Boleh Mendapatkan Direktori Pelaksanaan dalam Program C/C Merentas Platform?

Bagaimanakah Saya Boleh Mendapatkan Direktori Pelaksanaan dalam Program C/C Merentas Platform?

DDD
Lepaskan: 2024-12-21 02:48:12
asal
759 orang telah melayarinya

How Can I Get the Execution Directory in a Cross-Platform C/C   Program?

Cara Menentukan Direktori Pelaksanaan dalam Persekitaran Merentas Platform

Dalam bidang pengaturcaraan, menentukan direktori pelaksanaan program adalah tugas yang penting tetapi bergantung kepada platform dan sistem fail. Pembangun C dan C sering mencari penyelesaian universal yang mengatasi kebergantungan ini.

Walaupun mungkin tidak ada kaedah agnostik platform sepenuhnya, berikut ialah penyelesaian yang disesuaikan untuk Windows dan Linux:

Windows:

#include <windows.h>

int main() {
    char pBuf[256];
    size_t len = sizeof(pBuf);
    int bytes = GetModuleFileName(NULL, pBuf, len);
    printf("Execution directory: %s", pBuf);
    return 0;
}
Salin selepas log masuk

Linux:

#include <unistd.h>
#include <string.h>

int main() {
    char pBuf[256];
    size_t len = sizeof(pBuf);
    int bytes = MIN(readlink("/proc/self/exe", pBuf, len), len - 1);
    if (bytes >= 0)
        pBuf[bytes] = '';
    printf("Execution directory: %s", pBuf);
    return 0;
}
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mendapatkan Direktori Pelaksanaan dalam Program C/C Merentas Platform?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan