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

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

Войти
Регистрация
Восстановить пароль
 
Retyrn0
45 / 45 / 3
Регистрация: 24.06.2013
Сообщений: 677
Завершенные тесты: 1
#1

Получить размер больших файлов - C++

17.08.2014, 14:15. Просмотров 235. Ответов 5
Метки нет (Все метки)

Добрый день. Пользовался:
C++
1
filelength(fileno(file));
Всё работает, пока файл меньше 4 ГБ, что понятно - возвращает 32-битное значение, если же файл больше, то возвращает максимальное 32-битное число = 4294967295.
Как получить 64-битное значение размера файла?

Добавлено через 51 секунду
ОСЬ 32-х битная...

Добавлено через 55 секунд
Думаю нужно использовать виндовс тип UINT64, но как его правильно проинициализировать без изголений?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.08.2014, 14:15     Получить размер больших файлов
Посмотрите здесь:

Ошибка при сохранении больших чисел в тип int (размер встроенных типов) - C++
В двумерном целочисленном массиве (размер массива: N, M - указываются в ручную) найти указанное значение: - Количество элементов массива...

Быстрая сортировка содержимого больших файлов - C++
Здравствуйте. Поставлена такая задача - отсортировать содержимое файла. Человек сразу сказал, что файлы могут быть больших размеров....

Как объединить несколько больших файлов? - C++
Как в программе на c++ объединить большие текстовые файлы?

Размер файлов в каталоге - C++
Посчитать размер файлов в каталоге. Каталог задается статически. Без использования API. Циклическим методом (для отслеживания...

Размер файлов и папок. Их атрибуты - C++
Как получить размер файла и его атрибут? SYSTEMTIME time;//Время(?) WIN32_FIND_DATA FindFileData;//? HANDLE hf = FindFirstFile(str,...

Получить размер вектора - C++
Привет всем. Столкнулся вот с такой проблемкой: Есть вектор: std :: vector<Ball*> balls; Он находится инициализируется в классе...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Убежденный
Системный программист
Эксперт С++
15295 / 6927 / 1096
Регистрация: 02.05.2013
Сообщений: 11,334
Завершенные тесты: 1
17.08.2014, 16:21     Получить размер больших файлов #2
GetFileSizeEx подойдет ?
Retyrn0
45 / 45 / 3
Регистрация: 24.06.2013
Сообщений: 677
Завершенные тесты: 1
17.08.2014, 18:47  [ТС]     Получить размер больших файлов #3
Цитата Сообщение от Убежденный Посмотреть сообщение
GetFileSizeEx подойдет ?
Спасибо!
А есть 64-битные аналоги
C++
1
2
ftell();
fseek();
?

Не по теме:

Не понимаю...конечно, в 32-битных ОС логично было использовать 32 бита, но файлы ведь по определению могут быть больше 4ГБ...

Somebody
2786 / 1600 / 145
Регистрация: 03.12.2007
Сообщений: 4,190
Завершенные тесты: 1
17.08.2014, 18:59     Получить размер больших файлов #4
Цитата Сообщение от Retyrn0 Посмотреть сообщение
Не понимаю...конечно, в 32-битных ОС логично было использовать 32 бита, но файлы ведь по определению могут быть больше 4ГБ...
Во времена четырёхгигабайтных дисков как-то не думали о четырёхгигабайтных файлах. А потом, как всегда в таких случаях, проблемы совместимости.
Убежденный
Системный программист
Эксперт С++
15295 / 6927 / 1096
Регистрация: 02.05.2013
Сообщений: 11,334
Завершенные тесты: 1
17.08.2014, 19:13     Получить размер больших файлов #5
В Visual C++ уже много лет есть _fseeki64, например.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.08.2014, 19:16     Получить размер больших файлов
Еще ссылки по теме:

Вычислить размер файлов через консоль - C++
Добрый вечер, поставлена такая задача: ТЕМА: Написание пакетной утилиты ДОС средствами языка высокого уровня (ЯВУ). Найти на диске...

Размер и поиск файлов _findfirst описание - C++
Всем привет! В общем наткнулся на такой код: #include <stdio.h> #include <stdlib.h> #include <io.h> #include <iostream> using...

Получить размер полиморфного класса - C++
С C++14 завезли operator delete который принимает два аргумента - указатель на удаляемый объект и его размер. Если удалять полиморфный...

Получить размер консольного окна - C++
Есть код:#include "stdafx.h" #include <iostream> #include "Lib.h" #include <conio.h> #include <cstdlib> #include <Windows.h> ...


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

Или воспользуйтесь поиском по форуму:
Retyrn0
45 / 45 / 3
Регистрация: 24.06.2013
Сообщений: 677
Завершенные тесты: 1
17.08.2014, 19:16  [ТС]     Получить размер больших файлов #6
Цитата Сообщение от Somebody Посмотреть сообщение
А потом, как всегда в таких случаях, проблемы совместимости.
И то так...

Нашёл
C++
1
2
_fseeki64(file,0,SEEK_SET);
_ftelli64(file);
Тема закрыта. Всем откликнувшимся спасибо.

Добавлено через 31 секунду
Цитата Сообщение от Убежденный Посмотреть сообщение
В Visual C++ уже много лет есть _fseeki64, например.
Спасибо, написал раньше чем прочитал)
Yandex
Объявления
17.08.2014, 19:16     Получить размер больших файлов
Ответ Создать тему
Опции темы

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