следующий код:Как правильно использовать GetModuleFileName?
#include <iostream>
#include <Windows.h>
using namespace std;
int main()
{ LPWSTR buffer; //or wchar_t * buffer;
GetModuleFileName(NULL, buffer, MAX_PATH) ;
cout<<buffer;
cin.get();
cin.get();
}
Если показать полный путь, где выполняет программу. Но в VS 2012 я получаю ошибку:
uninitialized local variable 'buffer' used
Что не так в коде?
Это неправильно, 'GetModuleFileName' может возвращать 'ERROR_INSUFFICIENT_BUFFER' для длинного пути. – KindDragon
Что касается OP, я думаю, что это правильно. Может быть, есть обстоятельства, когда этого недостаточно, и возникает ошибка, но для большинства случаев достаточно «MAX_PATH». Обратите внимание, что OP просто использует неинициализированный указатель, и это НЕКОТОРЫЕ ошибки. –