Problème :
Détermination du chemin complet du répertoire dans lequel un programme l'exécution est une tâche fondamentale dans de nombreux scénarios de programmation. Cependant, y parvenir sur diverses plates-formes et systèmes de fichiers peut s'avérer difficile en raison des implémentations spécifiques au système. Pouvez-vous fournir une méthode concise et efficace pour réaliser cela de manière indépendante de la plate-forme ?
Solution :
Selon le système d'exploitation, il existe des approches distinctes pour récupérer cela informations :
#include <windows.h> int main() { char pBuf[256]; size_t len = sizeof(pBuf); int bytes = GetModuleFileName(NULL, pBuf, len); return bytes ? bytes : -1; }
#include <string.h> #include <unistd.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] = ''; return bytes; }
Ces méthodes s'appuient sur des fonctions système de bas niveau pour obtenir le chemin directement à partir du système d'exploitation, garantissant fonctionnalité indépendante de la plate-forme.
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!