08/02/24 23:35:06
#include <windows.h>
#include <tchar.h>
#include <stdio.h>
#include <stdlib.h>
#define CHECK(b) if(b); else goto ERROR
int _tmain(void) {
int exit_status = EXIT_FAILURE;
LPTSTR filename = NULL;
DWORD len;
TCHAR dummy;
len = GetModuleFileName(NULL, &dummy, 1);
CHECK(len != 0);
filename = malloc((len + 1) * sizeof (TCHAR));
CHECK(filename != NULL);
len = GetModuleFileName(NULL, filename, len + 1);
CHECK(len == 0);
_tprintf(_T("%.*s\n"), len, filename);
exit_status = EXIT_SUCCESS;
ERROR:
free(filename);
return exit_status;
}