2 つのディレクトリを同期するプログラムを C++ で作成しようとしていますが、その一部として、char 配列のサイズを取得する必要があります。私が使用しているコードは以下のとおりです
#include <iostream>
#include <Windows.h>
using namespace std;
int main() {
char binaryPath[MAX_PATH];
GetModuleFileName(NULL, binaryPath, MAX_PATH);
int r = sizeof(binaryPath);
return 0;
}
とにかく、そのコードは正常にコンパイルおよび実行されます。問題は、binaryPath 変数を試してみると発生します。メインブロックでは、 r の割り当て/宣言の後、 r を画面に出力しようとすると、
cout << r;
バイナリは実行を停止します。Windows で「Cpp.exe」が動作を停止したと表示され、プログラムを強制終了する必要があります。理由はまったくわかりません。
以下のプログラムのように、もっと単純なバージョンを試しても
#include <iostream>
using namespace std;
int main() {
int r = 7;
cout << sizeof(r);
return 0;
}
結果は同じです。舞台裏で sizeof() を使ってやりたいことがほとんどできるように思えますが、出力しようとするとすぐに動作が停止します。
Windows 8を実行しているMacでMinGWを使用しています(b / c win8は過去にいくつかの問題を引き起こしました.c ++を壊すことができたかどうかはわかりません)。
助けが切実に必要であり、感謝しています。
ありがとう!