С++/WinAPI: GetOpenFileName крашит программу

171
10 ноября 2019, 10:10

При выполнении GetOpenFileName иногда крашит программу с ошибкой:

Вызвано исключение по адресу 0x7795CC3F (ntdll.dll) в SP_Lab2_4_SR.exe: 0xC0000005: нарушение прав доступа при чтении по адресу 0x0C180000.

OPENFILENAME ofn;       // common dialog box structure
TCHAR szFile[260];       // buffer for file name
// Initialize OPENFILENAME
ZeroMemory(&ofn, sizeof(ofn));
ofn.lStructSize = sizeof(ofn);
ofn.hwndOwner = hWnd;
ofn.lpstrFile = szFile;
// Set lpstrFile[0] to '\0' so that GetOpenFileName does not 
// use the contents of szFile to initialize itself.
ofn.lpstrFile[0] = '\0';
ofn.nMaxFile = _countof(szFile);
ofn.lpstrFilter = _T("All\0*.*\0Text\0*.TXT\0");
ofn.nFilterIndex = 1;
ofn.lpstrFileTitle = NULL;
ofn.nMaxFileTitle = 0;
ofn.lpstrInitialDir = NULL;
ofn.Flags = OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST;
// Display the Open dialog box. 
if (GetOpenFileName(&ofn) != TRUE) return false;
READ ALSO
Убрать специализацию шаблона

Убрать специализацию шаблона

Навеяно вопросом о vector<bool>

123
Зачем нужен шаблон без параметра?

Зачем нужен шаблон без параметра?

Есть пример кодаСовершенно не понимаю что это

112