这是我正在处理的代码。程序需要进行哪些更改才能自动检测其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();
}
答案 0 :(得分:2)
GetModuleFileName会告诉你exe的运行位置。
#include <windows.h>
...
WCHAR dirname[1024];
GetModuleFileNameW(NULL, dirname, 1024);
使用wcstombs将wchar_t
转换为char
。
strcat(dirname, whatever); // Or strncat
mkdir(dirname);