我注意到当我使用该函数时GetOpenFileName
,我的应用程序中分配了很多线程。在对话框关闭并且函数返回后,我该如何删除这些?我SIGSEGV
在这些线程中也遇到了错误,这些错误不会使我的应用程序崩溃,但仍然很烦人,因为它们不知从何而来,以后可能会导致严重的内存问题,而且 win32 api 也不应该有这样的缺陷,不是吗?难道我做错了什么?
另外,我是 c/c++ 的初学者,所以请不要对我太苛刻。
我的代码:
OPENFILENAME open;
ZeroMemory(&open, sizeof(open));
char szFileName[2048] = {};
open.lStructSize = sizeof(OPENFILENAME);
open.hwndOwner = NULL;
open.lpstrFilter = "Képek\0*.jpg;*.jpeg;*.gif;*.png;*.bmp\0\0";
open.lpstrFile = szFileName;
open.nFileOffset = 1;
open.nMaxFile = 2048;
open.lpstrTitle = "Képek kiválasztása..";
open.Flags = OFN_EXPLORER | OFN_ALLOWMULTISELECT | OFN_FILEMUSTEXIST;
std::string links = "";
if (GetOpenFileName(&open)) {
...
}