C 语言如何获得当前文件名

在windows系统中,C 语言代码被 gcc 编译成 EXE 文件。我想写一个程序,将它编译后,如果将它重命名成XXX.exe,它将会输出 XXX.exe

printf("FILE:%s\n", __FILE__);   //__FILE__获得当前文件名
int main(int argc,char*argv[])
{
if(argc>0)
   printf("%s",argv[0]);
}

思路和一楼差不多, 只是要去除些零碎.

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

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

    strcpy(fileName, argv[0]);

    int lastFileName = strlen(fileName);

    while (fileName[lastFileName] != '\\')
    {
        --lastFileName;
    }

    printf("%s", argv[0] + lastFileName + 1);

    return 0;
}