Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Win32 API - [решено] Некая ошибка WriteFile?

Ответить
Настройки темы
Win32 API - [решено] Некая ошибка WriteFile?

Аватара для Arrest

runs with scissors


Сообщения: 642
Благодарности: 77

Профиль | Отправить PM | Цитировать


Помогите пожалуйста. Учу WinApi, написал небольшую программу:
PHP код: Выделить весь код

#include <windows.h>



int WINAPI WinMain (HINSTANCE hThisInstance,
                    
HINSTANCE hPrevInstance,
                    
LPSTR lpszArgument,
                    
int nFunsterStil)

{
    
HANDLE fh;
    
LPCSTR towrite "Preved!";
    
DWORD written;
    
fh CreateFile("file.txt"GENERIC_WRITE00CREATE_NEWFILE_ATTRIBUTE_NORMAL0);
    
WriteFile(fhtowrite7NULLNULL);
    
CloseHandle(fh);
    
ExitProcess(0);
    return 
0;


Компилирую Dev-C++'ом, запускаю - Windows матерится:
Цитата:
pr.exe - обнаружена ошибка. Приложение будет закрыто. Приносим извинения за неудобства.
При этом файл создается, и в него даже записаны данные! Если закомментировать строку с WriteFile - то все работает. Почему эта штука не работает?

-------
- Why do you call this version of software 'beta'?
- Coz it's beta than nothing.


Отправлено: 19:21, 12-07-2008

 

Ветеран


Сообщения: 1404
Благодарности: 135

Профиль | Отправить PM | Цитировать


MSDN: lpNumberOfBytesWritten
[out] Pointer to the number of bytes written by this function call. WriteFile sets this value to zero before taking action or checking errors.

4 параметр функции WriteFile является _ИСХОДЯЩИМ_. Функция пытается записать значение, а записывать некуда, возможно записывает в какую-то левую область данных, видимо, поэтому и матерится

Если так написать, то все ок: WriteFile(fh, towrite, 7, &written, NULL);

-------
Ehhh.. what's up, doc?..

Это сообщение посчитали полезным следующие участники:

Отправлено: 20:12, 12-07-2008 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для Arrest

runs with scissors


Сообщения: 642
Благодарности: 77

Профиль | Отправить PM | Цитировать


mrcnn
Спасибо.

-------
- Why do you call this version of software 'beta'?
- Coz it's beta than nothing.


Отправлено: 20:58, 12-07-2008 | #3



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Win32 API - [решено] Некая ошибка WriteFile?

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Ошибка - Во время перезагрузки/выключения ошибка: Explorer.EXE - Ошибка приложения Psyhopate Microsoft Windows 2000/XP 8 28-08-2010 00:27
Ошибка - ошибка 1935. ошибка при установке сборки sanna Microsoft Windows 2000/XP 2 09-10-2009 13:09
[решено] Ошибка на Т-13 Sor Проект WinStyle 6 24-07-2009 20:15
Непонятная ошибка virtualdub при просмотре либо конвертации DV файла-ошибка only в VD illusionmgs Видео и аудио: обработка и кодирование 9 21-03-2009 14:47
Установка - Ошибка при установке windows xp sp2: ошибка обработки манифеста ceramicool Microsoft Windows 2000/XP 5 18-07-2007 22:27




 
Переход