Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

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

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

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

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

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

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

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

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

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

Подсчитать размер файлов F1 и F2 (в байтах) - C++
Постановка задачи: Создать текстовый файл F1 не менее, чем из 10 строк и записать в него информацию Выполнить задание. При разработке...

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

5
Убежденный
Ушел с форума
Эксперт С++
15701 / 7211 / 1139
Регистрация: 02.05.2013
Сообщений: 11,637
Записей в блоге: 1
Завершенные тесты: 1
17.08.2014, 16:21 #2
GetFileSizeEx подойдет ?
1
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ГБ...

0
Somebody
2791 / 1602 / 147
Регистрация: 03.12.2007
Сообщений: 4,199
Завершенные тесты: 1
17.08.2014, 18:59 #4
Цитата Сообщение от Retyrn0 Посмотреть сообщение
Не понимаю...конечно, в 32-битных ОС логично было использовать 32 бита, но файлы ведь по определению могут быть больше 4ГБ...
Во времена четырёхгигабайтных дисков как-то не думали о четырёхгигабайтных файлах. А потом, как всегда в таких случаях, проблемы совместимости.
0
Убежденный
Ушел с форума
Эксперт С++
15701 / 7211 / 1139
Регистрация: 02.05.2013
Сообщений: 11,637
Записей в блоге: 1
Завершенные тесты: 1
17.08.2014, 19:13 #5
В Visual C++ уже много лет есть _fseeki64, например.
0
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, например.
Спасибо, написал раньше чем прочитал)
0
17.08.2014, 19:16
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.08.2014, 19:16
Привет! Вот еще темы с ответами:

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

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

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

Как получить размер функции? - C++
её начало я получаю с помощью ассемблера(offset), не получается получить её конец и вычислить её длину P. S. Borland c++ 6


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

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