1. 程式人生 > >C語言獲取當前編譯執行檔案(XXX.exe)檔名和目錄路徑

C語言獲取當前編譯執行檔案(XXX.exe)檔名和目錄路徑

C語言獲取當前編譯執行檔案(XXX.exe)檔名和目錄路徑

vc2010編譯通過

#include<stdio.h>
#include<string.h>
#include<windows.h>
#include<stdlib.h>

int main(int argc,char *argv[]){

    printf("%s\n",argv[0]); //用主函式引數自帶的 argv[0] 輸出路徑

    char path[100];
    GetModuleFileName(NULL, path, 100); //呼叫win api 獲得路徑
    printf("%s\n",path);

    char *p = strrchr(path,'\\'); //擷取到最後的"\",之後是XXX.exe檔名
    printf("%s\n",p);

    char *name = p + 1; //截去"\",只留下檔名
    printf("%s\n",name); //輸出檔名

    char path2[100];
    GetCurrentDirectory(100, path2); //獲取當前程序目錄路徑,與上面的不同,具體可以自己試試
    printf("%s\n",path2);

    system("pause");
    return 0;
}