У меня есть простое диалоговое окно сохранения файла, которое я хочу использовать в качестве инструмента для возврата пути к файлу, имени и расширения.Эта функция выдает ошибку времени выполнения, говоря, что стек вокруг имени файла поврежден.Я хочу использовать это так:
wchar_t filename[] = L"";
newGradebookDialog( hwnd, filename );
И вот моя функция.Он изменяет имя файла так, как я этого ожидаю, но я не получаю ошибку стека времени выполнения.
void newGradebookDialog( HWND hwnd, wchar_t file[] )
{
OPENFILENAME ofn;
wchar_t saveFileName[MAX_PATH] = L"";
ZeroMemory( &ofn, sizeof( ofn ) );
ofn.lStructSize = sizeof(OPENFILENAME);
ofn.hwndOwner = hwnd;
ofn.lpstrFilter = L"Database File (*.db)\0*.db\0";
ofn.lpstrFile = saveFileName;
ofn.nMaxFile = MAX_PATH;
ofn.lpstrDefExt = L"db";
ofn.Flags = OFN_EXPLORER | OFN_PATHMUSTEXIST | OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT;
ofn.lpstrTitle = L"Save New Database";
if(GetSaveFileName(&ofn))
wcscpy(file,saveFileName);
}