Вопрос Создание / открытие файла

Эксперт
Статус
Оффлайн
Регистрация
13 Сен 2020
Сообщения
1,415
Реакции[?]
713
Поинты[?]
10K
1624784282639.png
хотел сделать такое создание и открытие файла, но как эта штука вообще называется?
 
Олдфаг
Статус
Оффлайн
Регистрация
18 Фев 2019
Сообщения
2,825
Реакции[?]
1,852
Поинты[?]
24K
Посмотреть вложение 157350
хотел сделать такое создание и открытие файла, но как эта штука вообще называется?
Это называется OpenFileDialog и SaveFileDialog соответственно. Они являются частью WIndowsForms, поэтому их использование через формы упрощается в разы. Например, в QT открытие файла делается через QFileDialog.getOpenFileNames. Если вы работаете с консольным приложением, то придется воспользоваться WinAPI, а конкретно
Пожалуйста, авторизуйтесь для просмотра ссылки.
:
C++:
OPENFILENAME ofn;       // common dialog box structure
char szFile[260];       // buffer for file name
HWND hwnd;              // owner window
HANDLE hf;              // file handle
// 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 = sizeof(szFile);
ofn.lpstrFilter = "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)
    hf = CreateFile(ofn.lpstrFile,
                    GENERIC_READ,
                    0,
                    (LPSECURITY_ATTRIBUTES) NULL,
                    OPEN_EXISTING,
                    FILE_ATTRIBUTE_NORMAL,
                    (HANDLE) NULL);
Еще это это можно реализовтаь через COM-интерфейс
Пожалуйста, авторизуйтесь для просмотра ссылки.
. Делается это сложнее, но возможностей гораздо больше.
 
Сверху Снизу