Форум программистов, компьютерный форум, киберфорум
C/C++: WinAPI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
1 / 1 / 0
Регистрация: 01.07.2019
Сообщений: 36

Получение размера файла больше 4гб

25.11.2019, 21:12. Показов 2259. Ответов 29
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет всем, есть у меня образ 7 винды, хочу через винапи функции получить ее размер.

C++
1
2
3
4
5
6
7
8
9
10
11
12
HANDLE hFile;
if (hFile = CreateFileW(filePath.c_str(), GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, NULL))
{
            printf("%d\n", GetLastError());
            LARGE_INTEGER size;
            printf("%d\n", GetLastError());
            GetFileSizeEx(hFile, &size);
 
            printf("%d\n", size.QuadPart);
            printf("%d\n", GetLastError());
            getchar();
}
вывод: Название: Screenshot_2.png
Просмотров: 89

Размер: 2.0 Кб

как побороть это?

прочитал, что простой int не может хранить в себе больше 4гб, использую большой инт - но все равно ошибка.
при получении размера маленького файла - ошибок нет, размер файла получается на отлично
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
25.11.2019, 21:12
Ответы с готовыми решениями:

Получение фактического размера и размера файла в байтах
Здравствуйте, уважаемые форумчане! Мне необходимо получить фактический размер, занимаемый файлом на диске, и размер файла в байтах...

Узнать размер файла больше 4гб
сабж какой функцией можно узнать размер файла больше 4 гб (+ другие св-ва - опционально)? ++ переносимость - не зависит от оси

Получение размера файла
Нижепредставленные два варианта функций действительно справляются с задачей получения размерности файла по заданному пути. Но вот, если...

29
Неэпический
 Аватар для Croessmah
18146 / 10730 / 2066
Регистрация: 27.09.2012
Сообщений: 27,029
Записей в блоге: 1
29.11.2019, 18:08
Студворк — интернет-сервис помощи студентам
COKPOWEHEU, это ж вы привели "стандартный" способ, который содержит ub.
Я не давал ответа на вопрос ТС'а, я лишь показал, что этот способ далеко не стандартный.
0
 Аватар для COKPOWEHEU
4083 / 2681 / 432
Регистрация: 09.09.2017
Сообщений: 11,910
30.11.2019, 02:44
Цитата Сообщение от Croessmah Посмотреть сообщение
COKPOWEHEU, это ж вы привели "стандартный" способ, который содержит ub.
Это вы утверждаете, что содержит UB, но доказательств пока что нет.
Впрочем, если знаете более стандартный (без winapi, разумеется) - назовите.
0
Неэпический
 Аватар для Croessmah
18146 / 10730 / 2066
Регистрация: 27.09.2012
Сообщений: 27,029
Записей в блоге: 1
30.11.2019, 07:54
COKPOWEHEU, вам прямой текст из стандарта приведен. fseek с такой комбинацией параметров - ub для файлов, открытых в бинарном режиме. Всё. Что Вы там еще увидели не понятно.
0
 Аватар для COKPOWEHEU
4083 / 2681 / 432
Регистрация: 09.09.2017
Сообщений: 11,910
30.11.2019, 09:43
Цитата Сообщение от Croessmah Посмотреть сообщение
COKPOWEHEU, вам прямой текст из стандарта приведен.
Приведен, вот только в другом контексте - для специфических файлов.
Странно, что некоторые люди готовы найти в стандарте мало-мальски похожую цитату, запостить ее на форум, не пытаясь даже осознать, а потом радостно размахивать ей "я доказать". Самый шик - кинуть ссылку на стандарт вообще: ищи самостоятельно.
0
Неэпический
 Аватар для Croessmah
18146 / 10730 / 2066
Регистрация: 27.09.2012
Сообщений: 27,029
Записей в блоге: 1
30.11.2019, 11:20
COKPOWEHEU, я тебе уже всё написал. В стандарте нет никаких "специфических файллв". Есть общее правило fseek в данном случае - ub. Остальное ты сам придумал.
0
 Аватар для COKPOWEHEU
4083 / 2681 / 432
Регистрация: 09.09.2017
Сообщений: 11,910
30.11.2019, 17:16
Croessmah, то есть доказательств нет? Ну так и нечего про UB говорить.
0
Неэпический
 Аватар для Croessmah
18146 / 10730 / 2066
Регистрация: 27.09.2012
Сообщений: 27,029
Записей в блоге: 1
30.11.2019, 18:14
COKPOWEHEU, доказательства чего? Тебе прямым текстом в спецификации написано - ub.
0
 Аватар для COKPOWEHEU
4083 / 2681 / 432
Регистрация: 09.09.2017
Сообщений: 11,910
01.12.2019, 02:10
Croessmah, прямым текстом в сноске для другого случая.
В общем-то, как косвенное доказательство неплохо, но хорошо бы еще хотя бы механизм откуда UB может возникнуть, а лучше - пример.
0
Неэпический
 Аватар для Croessmah
18146 / 10730 / 2066
Регистрация: 27.09.2012
Сообщений: 27,029
Записей в блоге: 1
01.12.2019, 05:12
COKPOWEHEU, для какого другого? Указано как раз для этого случая. Но у вас своя правда. Я усё.
0
 Аватар для COKPOWEHEU
4083 / 2681 / 432
Регистрация: 09.09.2017
Сообщений: 11,910
01.12.2019, 08:49
Указано для файлов, обладающих какой-то структурой.
Впрочем, если вы не собираетесь привести вариант лучше или предложить механизм UB в моем варианте, стоит ли продолжать? Повторением одного и того же вы ничего не докажете.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
01.12.2019, 08:49
Помогаю со студенческими работами здесь

Получение размера файла FTP
Взял код из FAQ по получению размера файла на FTP - сервере: Dim Request As Net.FtpWebRequest =...

Получение размера файла с кирилическими символами
Есть код: std::fstream fp2(Memo9->Lines->Strings.w_str() , std::fstream::in); fp2.seekp(0, std::ios::end); int size2 =...

Ошибка при получение размера файла с сайта
QNetworkRequest request;; request.setUrl(QUrl("http://finder-rp.ru/custom.zip")); QNetworkAccessManager* pManager= new...

Получение размера файла с помощью fstream. ОТВЕТ.
Для того, кто не знает как получить размер файла, и того, кто не хочет пользоваться API или не умеет: ВОТ ПОЛУЧЕНИЕ РАЗМЕРА: fstream...

Настройка Dev-C++ на получение исполняемого файла минимального размера
Доброго времени суток! Подскажите настройки компилятора IDE Dev-C++ (v 4.9.9.2). Элементарно, Hello world! у меня больше 450 кб...


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

Или воспользуйтесь поиском по форуму:
30
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru