Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
MicK_ekb
0 / 0 / 0
Регистрация: 27.05.2009
Сообщений: 6
#1

WriteFileEx - не пишет в файл. - C++

27.05.2009, 17:35. Просмотров 778. Ответов 1
Метки нет (Все метки)

Нужен асинхронный ввод/вывод.
Простой пример:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
char* b="abccccccccccccccccccccccccccccccccccc";
    HANDLE my_file_output=CreateFileA(
        "output.txt",
        GENERIC_WRITE,
        0,
        0,
        CREATE_ALWAYS,
        FILE_FLAG_OVERLAPPED,
        0);
    WriteFileEx(
            my_file_output,
            b,
            20,
            0,
            0
    );
Ничего не выводит в файл. В чем тут проблема? Понятно, что такой код не должен работать, так как размер записи должен быть кратен 64к, НО он должен начать писать и умереть, а не сразу умереть, ведь именно так происходит в примере 2:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
char* b="abccccccccccccccccccccccccccccccccccc";
    HANDLE my_file_output=CreateFileA(
        "output.txt",
        GENERIC_WRITE,
        0,
        0,
        CREATE_ALWAYS,
        0,
        0);
    WriteFile(
            my_file_output,
            b,
            10,
            0,
            0
    );
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.05.2009, 17:35     WriteFileEx - не пишет в файл.
Посмотрите здесь:
C++ Пишет в файл калябаляку
Почему не пишет файл? C++
C++ Криво пишет даные в файл
C++ Fwprintf не пишет данные wchar_t в файл
C++ файлы с++ квадраты считает а в файл не пишет
кто пишет в borland c 3.1 не можете скинуть файл? C++
В файл пишет только первые два символа! C++
НЕ компилируется файл, пишет [Error] iostream.h: No such file or directory C++
Dev-C++ при отладке пишет "файл не скомпилирован" C++
Не пишет по-русски C++
C++ Пишет ошибку
C++ Fstream пишет 13 вместо 10

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Somebody
2786 / 1600 / 145
Регистрация: 03.12.2007
Сообщений: 4,189
Завершенные тесты: 1
27.05.2009, 22:10     WriteFileEx - не пишет в файл. #2
Во-вторых (это про второй пример)
hFile
This parameter can be any handle opened with the FILE_FLAG_OVERLAPPED flag by the CreateFile function, or a socket handle returned by the socket or accept function.
Во-первых
lpOverlapped [in, out]
Но не optional. Если его заполнить, уже всё работает нормально. Хотя не помешало бы ждать окончания и закрывать файл.
Yandex
Объявления
27.05.2009, 22:10     WriteFileEx - не пишет в файл.
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru