Как узнать размер файла в байтах более 5 гб?

Тема в разделе "WASM.WIN32", создана пользователем trintel, 20 авг 2009.

  1. trintel

    trintel New Member

    Публикаций:
    0
    Регистрация:
    20 авг 2009
    Сообщения:
    3
    Есть файл размером более 5'000'000'000 байт как узнать его размер. GetFileSize не подходит т.к. он записывает размер в переменную типа DWORD а ее максимальное значение 4'294'967'295. Есть переменные типа QWORD но для GetFileSize они не подходят.
    Есть ли api функции с помощью которых можно узнать размер файла более 5 гб?
     
  2. reverser

    reverser New Member

    Публикаций:
    0
    Регистрация:
    27 янв 2004
    Сообщения:
    615
    Обрати внимание на второй параметр GetFileSize.
     
  3. trintel

    trintel New Member

    Публикаций:
    0
    Регистрация:
    20 авг 2009
    Сообщения:
    3
    Там их всего два 1-й хэндл файла, второй указатель на переменную типа DWORD, а я говорил что DWORD мал чтобы поместить число более 4'294'967'295.
     
  4. h3rmit

    h3rmit New Member

    Публикаций:
    0
    Регистрация:
    9 июн 2009
    Сообщения:
    28
  5. Johnikum

    Johnikum Member

    Публикаций:
    0
    Регистрация:
    6 июн 2003
    Сообщения:
    97
    MSDN
    Код (Text):
    1. C++
    2. DWORD WINAPI GetFileSize(
    3.   __in       HANDLE hFile,
    4.   __out_opt  LPDWORD lpFileSizeHigh
    5. );
    6. Parameters
    7. hFile [in]
    8.  
    9. A handle to the file.
    10. lpFileSizeHigh [out, optional]
    11.  
    12. A pointer to the variable where the high-order doubleword of the file size is returned. This parameter can be NULL if the application does not require the high-order doubleword.
    Второй параметр указатель на СТАРШЕЕ двойное слово (то что нужно)
     
  6. trintel

    trintel New Member

    Публикаций:
    0
    Регистрация:
    20 авг 2009
    Сообщения:
    3
    Я понял. Всем кто ответил спасибо.