createfile



Getopenfilename

Автор Назар Тимішак задал вопрос в разделе Другие языки и технологии

WinApi функции c++ CreateFile ReadFile WriteFile GetOpenFileName GetSaveFileName и получил лучший ответ

Ответ от Преподаватель Информатики[активный]
//Открытие файла void ReadFromFile(HWND hwnd) { OPENFILENAME openFileName; static char PathToFile[255]; HANDLE hFile; DWORD BytesRead; BY_HANDLE_FILE_INFORMATION FileInformation; DWORD SizeFile; openFileName.lStructSize = sizeof(openFileName);//Размер структуры openFileName.hwndOwner = hwnd;//Хэндл родительского окна openFileName.Flags = OFN_HIDEREADONLY;//флаги openFileName.hInstance = hInst;//дескриптор программы openFileName.lpstrFilter = "Текстовый файл (*.txt)\\0*.txt\\0\\0";//фильтр openFileName.lpstrCustomFilter = NULL; openFileName.nMaxCustFilter = 0; openFileName.nFilterIndex = 1; openFileName.lpstrFile = PathToFile;//Куда сохранять выбранное имя openFileName.nMaxFile = 255;//Максимальная длина имени файла openFileName.lpstrFileTitle = NULL; openFileName.lpstrInitialDir = NULL; openFileName.lpstrTitle = "Открыть... ";//Название окна openFileName.lpstrDefExt = "txt";//расширение по умолчанию if(GetOpenFileName(&openFileName))//Выбор файла { hFile = CreateFile(PathToFile, GENERIC_READ, 0,NULL, OPEN_EXISTING,//Открытие файла FILE_ATTRIBUTE_NORMAL | FILE_FLAG_SEQUENTIAL_SCAN, NULL); if(hFile==INVALID_HANDLE_VALUE) {//Если ошибка - сообщить об этом MessageBox(hwnd, __TEXT("Ошибка открытия файла"), __TEXT("Ошибка! "), MB_OK|MB_ICONSTOP); return; } SizeFile =GetFileSize(hFile,NULL);//Получить размер файла EnterCriticalSection(&cs);//вход в критическую секцию (поскольку работаем с буфером) if(SizeFile+sizeof(TCHAR)>bufsize)//Проферить поместится ли файл в буфер { bufsize=SizeFile+1024;//Если не поместится, расчитать новый размер буфера Buffer=(TCHAR*)HeapReAlloc(GetProcessHeap(),NULL,Buffer,bufsize);//и увеличить его } ZeroMemory(Buffer, bufsize);//Очистка буфера if(!ReadFile(hFile, Buffer, SizeFile*sizeof(TCHAR), &BytesRead, NULL)||(BytesRead!=sizeof(TCHAR)*SizeFile))//Чтение и проверка файла {//В случае ошибки вывести сообщение MessageBox(hwnd, __TEXT("Ошибка чтения файла"), __TEXT("Ошибка! "), MB_OK|MB_ICONSTOP); } CloseHandle(hFile);//Закрыть файл SetWindowText(GetDlgItem(hwnd, IDC_EDITWND), Buffer);//Вывести текст в окно LeaveCriticalSection(&cs);//выход из критической секции } } Остальное не влазит

Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с ответами на Ваш вопрос: WinApi функции c++ CreateFile ReadFile WriteFile GetOpenFileName GetSaveFileName

Как объединить текстовые файлы в один?
Не может. Либо открыть любой текстовый редактор и вставлять в файл один текст за другим, либо
подробнее...

Проблема с вызывом GetOpenFileName в VBA
попробуйте заполнить параметр
подробнее...

Как написать программу на Qt
win.h:

#include <QtGui>

class MainWin: public QWidget {
 
подробнее...
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*