Comment obtenir le chemin d’access à l’exécutable en C sous Windows?

-getcwd ne le renvoie pas au moins lors du débogage avec VS 2010.

-Je n’ai pas access aux arguments de main à cause du kit d’interface utilisateur que j’utilise

alors y a-t-il quelque chose à faire?

PS veuillez noter les ressortingctions avant de marquer ceci en double

Utilisez GetModuleFileName () et transmettez NULL comme premier argument:

DWORD last_error; DWORD result; DWORD path_size = 1024; char* path = malloc(1024); for (;;) { memset(path, 0, path_size); result = GetModuleFileName(0, path, path_size - 1); last_error = GetLastError(); if (0 == result) { free(path); path = 0; break; } else if (result == path_size - 1) { free(path); /* May need to also check for ERROR_SUCCESS here if XP/2K */ if (ERROR_INSUFFICIENT_BUFFER != last_error) { path = 0; break; } path_size = path_size * 2; path = malloc(path_size); } else { break; } } if (!path) { fprintf(stderr, "Failure: %d\n", last_error); } else { printf("path=%s\n", path); } 

Passez NULL tant que premier argument de GetModuleFileName .