我们怎样才能在c程序中获得.exe文件的完整路径?

时间:2017-08-22 10:00:45

标签: c

这是我正在处理的代码。程序需要进行哪些更改才能自动检测其exe文件路径并将其保存在字符串变量中?

#include<stdio.h>
#include<conio.h>
#include<process.h>
#include<dir.h>

void main()
{

    int check;
    char dirname[150], u_name[30];

    printf("Enter a username:");
    scanf("%s",&u_name);

    strcpy(dirname,"C:/Users/Bilal/Desktop/");
    strcat(dirname,u_name);
    check = mkdir(dirname);

    if (!check)
    printf("Directory created\n");

    else
    {
        printf("Unable to create directory\n");
        exit(1);
    } 

    printf("\nPress any key to exit program");
    getch();
}

1 个答案:

答案 0 :(得分:2)

GetModuleFileName会告诉你exe的运行位置。

#include <windows.h>
...
WCHAR dirname[1024];
GetModuleFileNameW(NULL, dirname, 1024);

使用wcstombswchar_t转换为char

strcat(dirname, whatever); // Or strncat
mkdir(dirname);