проблемы с ReadFile

Тема в разделе "WASM.BEGINNERS", создана пользователем satti, 11 ноя 2010.

  1. satti

    satti New Member

    Публикаций:
    0
    Регистрация:
    14 июл 2008
    Сообщения:
    4
    ReadFile в некоторых файлах (не нулевого размера), не читает в dwCut (__int32), только обнуляет его, файлы спокойно открываются Блокнотом, и в начале никаких нулей. Никаких ошибок не происходит, не при открытии файла, не при чтении... Кусок кода ниже.
    Код (Text):
    1. char szTemp[65535];
    2. unsigned __int32 dwCut;
    3. HANDLE hFile;
    4. DWORD iFile;
    5. BOOL xyu;
    6.  
    7. hFile = CreateFileA(szTemp, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, NULL, NULL);
    8. if (hFile == INVALID_HANDLE_VALUE) {
    9.     printf("@@ %s", szTemp);
    10. }
    11. xyu = ReadFile(hFile, &dwCut, sizeof(__int32), &iFile, 0);
    12. if (xyu == 0) {
    13.     printf("@@ %s", szTemp);
    14. }
    15. CloseHandle(hFile);
    P. S. Пользовал поиск по форуму и гуглу безрезультатно...
     
  2. leo

    leo Active Member

    Публикаций:
    0
    Регистрация:
    4 авг 2004
    Сообщения:
    2.542
    Адрес:
    Russia
    Что за изврат - юзать FILE_READ_DATA без\вместо GENERIC_READ ?!
     
  3. satti

    satti New Member

    Публикаций:
    0
    Регистрация:
    14 июл 2008
    Сообщения:
    4
    Да перебирал, разные флаги... GENERIC_READ или FILE_READ_DATA результат один и тот же... Остатки экспериментов.
     
  4. MSoft

    MSoft New Member

    Публикаций:
    0
    Регистрация:
    16 дек 2006
    Сообщения:
    2.854
    ну если там в начале нули, то блокнот этого не покажет. Попробуй проверить файл хекс-редактором
     
  5. PSR1257

    PSR1257 New Member

    Публикаций:
    0
    Регистрация:
    30 ноя 2008
    Сообщения:
    933
    satti

    Посмотри что сгенерировано в ассемблерном листинге. Имхо нада &dwCut.
     
  6. MSoft

    MSoft New Member

    Публикаций:
    0
    Регистрация:
    16 дек 2006
    Сообщения:
    2.854
    кстати, амперсанд забыл перед dwCut
     
  7. satti

    satti New Member

    Публикаций:
    0
    Регистрация:
    14 июл 2008
    Сообщения:
    4
    MSoft
    В Total Commander уже смотрел в Lister'e в шестнадцатеричном виде...

    MSoft, PSR1257
    В сорце есть, просто переименовывал переменные для "понятности" и забыл поставить...
     
  8. MSoft

    MSoft New Member

    Публикаций:
    0
    Регистрация:
    16 дек 2006
    Сообщения:
    2.854
    Так не бывает. Ты в отладчике смотрел код? Чему равен hFile? Точно не ошибке? Т.к. ты только сообщение выводишь, но чтение все равно пытаешься выполнить. Что вернуло ReadFile? Чему равен iFile после чтения?
     
  9. satti

    satti New Member

    Публикаций:
    0
    Регистрация:
    14 июл 2008
    Сообщения:
    4
    MSoft, PSR1257, leo
    Спасибо. Разобрался. Извините, за тупость (