Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.06.2010, 00:13   #1
Nitrino
Я ещё только учусь
Форумчанин
 
Регистрация: 06.05.2009
Сообщений: 158
Вопрос Открытие файла

Пытаюсь открыть текстовый файл для записи, но при открытии программа вылетает с ошибкой
Код:
Необработанное исключение в "0x75f37abe" в "BackUp.exe": 0xC0000005: Нарушение прав доступа при чтении "0x00000000".
вот кусок кода
Код:
static LPOFSTRUCT buf;

case WM_DROPFILES:
			{
				DragQueryFile((HDROP)wParam,0,filename,sizeof(filename));
				DragFinish((HDROP)wParam);

				HFILE FileHandle = OpenFile("files.txt", buf,  OF_CREATE|
			                            OF_READWRITE | OF_SHARE_EXCLUSIVE);
				WriteFile((HANDLE)FileHandle, filename, sizeof(filename),NULL, NULL);
				CloseHandle((HANDLE)FileHandle);
				
				STLM(LB_ADDSTRING,0,filename);
			}; break;
Подскажите в чём может быть ошибка
Nitrino вне форума Ответить с цитированием
Старый 24.06.2010, 02:31   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

CreateFile используй.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 24.06.2010, 22:35   #3
Nitrino
Я ещё только учусь
Форумчанин
 
Регистрация: 06.05.2009
Сообщений: 158
По умолчанию

Попробовал сделать через CreatFile, но не работает запись файл. Файл просто пуст. Вот кусок кода
Код:
static HANDLE hFile;
case WM_DROPFILES:
			{
				DragQueryFile((HDROP)wParam,0,filename,sizeof(filename));
				DragFinish((HDROP)wParam);

				hFile = CreateFile(TEXT("files.txt"),
											GENERIC_WRITE,
											0,
											NULL,
											OPEN_ALWAYS,
											FILE_ATTRIBUTE_NORMAL |
											FILE_FLAG_OVERLAPPED,
											NULL);
				if (hFile == INVALID_HANDLE_VALUE) 
				{ 
					MessageBox(hWnd,"Could not open file:", NULL, NULL);
					return 0;
				}
				WriteFile(hFile, filename, sizeof(filename),NULL, NULL);
				CloseHandle(hFile);
				
				
				STLM(LB_ADDSTRING,0,filename);
			}; break;
В чём теперь может быть проблема?
Nitrino вне форума Ответить с цитированием
Старый 25.06.2010, 00:13   #4
Nitrino
Я ещё только учусь
Форумчанин
 
Регистрация: 06.05.2009
Сообщений: 158
По умолчанию

С этим вроде разобрался.
Подскажите как сделать так что бы подряд вызванные функции WriteFile Писали не в одну строчку а в несколько, короче говоря как сделать перенос строки
Nitrino вне форума Ответить с цитированием
Старый 25.06.2010, 00:23   #5
Nitrino
Я ещё только учусь
Форумчанин
 
Регистрация: 06.05.2009
Сообщений: 158
По умолчанию

Мучением гугла отыскал что \n не переводит коретку и нужно юзать \r\n
Nitrino вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
открытие файла Pti44ka Общие вопросы .NET 5 10.05.2010 10:17
открытие файла vo_sa Общие вопросы C/C++ 7 25.06.2009 11:23
Открытие файла и создание графика на основе чисел из файла Simon..14 Общие вопросы C/C++ 8 09.06.2009 10:18
Открытие файла Messir_Leonard Win Api 2 09.04.2008 19:33
Открытие файла Veiron Общие вопросы Delphi 2 27.02.2008 03:12