デバッガからアクセス違反エラーが発生していますが、なぜそのような理由がわかりません。私はそれが本当にばかげた何かになるだろうと思う。 私は、ディレクトリエントリの配列を持っている:アレイへのアクセス違反書込み場所の挿入
typedef struct dirEntry{
TCHAR fileName[MAX_PATH];
DWORD fileSizeLow;
DWORD fileSizeHigh;
} dirEntry;
DWORD bufferSize = MEM_SIZE; //MEM_SIZE = 100
DWORD bufferPosition = 0;
dirEntry* dirBuffer;
dirBuffer = (dirEntry*) malloc(bufferSize*sizeof(dirEntry));
その後、私は、私は内部のファイルに関する情報を取得するが、私はこれを呼び出すときに、関数の内部で関数にListDirectory(_T("D:\\books\\*"), dirBuffer, &bufferSize, &bufferPosition)
を渡し:
をdirBuffer[*bufferPosition].fileSizeLow = dataFound.nFileSizeLow;
_tcscpy(dirBuffer[*bufferPosition].fileName, dataFound.cFileName);
*bufferPosition++;
最初の行は例外を生成します。誰かが私が間違っていることを教えてもらえますか?
EDIT:要求としてListDirectory
のコード:
bufferPositionは有効な数字ですか?私。それはbufferSizeより小さいですか? また、dataFoundは初期化されていますか? – NickLH
はい、申し訳ありませんが、私はそれをスニペットに追加しました。 –
はい、有効な数字です。 dataFoundについては、コンテンツをコンソールに出力できるので、実際には有効です。 –