Comment déterminer le répertoire d'exécution dans un environnement multiplateforme
Dans le domaine de la programmation, déterminer le répertoire d'exécution d'un programme est une tâche cruciale mais dépendante de la plate-forme et du système de fichiers. Les développeurs C et C recherchent souvent une solution universelle qui transcende ces dépendances.
Bien qu'il n'existe pas de méthode totalement indépendante de la plate-forme, voici des solutions sur mesure pour Windows et 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; }
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; }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!