C程序如何确定并打印它自己的可执行文件的位置?



我想写一个C程序打印它的位置。

例如,如果我将程序exe文件放在D:myfoldermyc_prog,它应该打印相同的位置D:myfoldermyc_prog,如果我将该exe文件放在位置E:mynewfold,它应该打印更新的位置E:mynewfold

事实上,我不知道怎么做,这就是为什么我不能为这个问题提供太多的细节

由于您使用的是Windows,因此GetModuleFileName应该可以做到这一点。只传递NULL作为hModule参数。如果您想处理长文件名(您通常会这样做),请务必仔细阅读文档。您还必须去掉可执行文件的名称以获得目录路径。一种快捷的方法是删除最后一个之后的所有内容。

#include <Windows.h>
#include <stdio.h>
int main(int argc, char *argv[]){
    char buff[256];
    if(GetCurrentDirectory(256, buff)){//get current directory
        printf("%sn", buff);
    }
    return 0;
}

相关内容

最新更新