1. ホーム
  2. c++

[解決済み] GetModuleFileNameの正しい使用方法は?

2022-01-31 23:49:34

質問

以下のコードです。

#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では、エラーが発生します。

未初期化のローカル変数 'buffer' が使用されています。

コードのどこがおかしいのでしょうか?

解決方法は?

ある程度の文字数を保持できるバッファを持たせる必要があります。

 wchar_t buffer[MAX_PATH]; 

を例にとります。