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

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

Войти
Регистрация
Восстановить пароль
 
naxerakozebayan
Сообщений: n/a
#1

Файлы больше четырех гектаров - C++

11.11.2009, 16:43. Просмотров 359. Ответов 2
Метки нет (Все метки)

Вообщем пишу код который забивает какую-то часть (или весь файл) нулями:

LPBYTE bufer=(LPBYTE)malloc(1024*4); //писать буду блоками по 4 кила
DWORD filelen=0,filelenH=0;
ZeroMemory(bufer,1024*4);
HANDLE hfile=CreateFile(filename,GENERIC_WRITE,0,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);
filelen=GetFileSize(hfile,&filelenH);
и тут до меня дошло что я не совсем понимаю как быть если файл больше 4 гектаров
получается что длина файла это filelenH*sizeof(DWORD)+filelen ? а как сравнивать такие значения и вообще какой именно тип данных надо использовать чтоб вместить в себя 64 битное целое. Которое потом для использования в других местах надо будет опять таки как то сравнивать с простым DWORD.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.11.2009, 16:43     Файлы больше четырех гектаров
Посмотрите здесь:

минимальное из четырех вещественных чисел C++
пятый цикл в четырех + sqrt C++
Структуры: Вывести все танки с 1940-1950 г. чей калибр , больше 50 мм. или же просто больше 50 C++
C++ а куб в четырех операциях
Собрать int из четырех байтов в файле C++
Ребята а что FILE * больше 4Gb файлы не поддерживает? C++
C++ Сумма четырех квадратов
C++ Программа не обрабатывает файлы больше 100 килобайт
Определить наименьшее из четырех чисел C++
C++ Cоставить прямоугольную таблицу из четырех слов
C++ Задача о четырех правильных цифрах
Написать условие "произведение двух целых чисел больше 30, и хотя бы один из сомножителей больше 8" C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
kravam
быдлокодер
1695 / 874 / 44
Регистрация: 04.06.2008
Сообщений: 5,338
11.11.2009, 19:34     Файлы больше четырех гектаров #2
Чтобы извлечь размер файла, который является большим, чем значение двойного слова (DWORD), используйте функцию GetFileSizeEx

Не поможет?
odip
Эксперт С++
7153 / 3293 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
12.11.2009, 12:12     Файлы больше четырех гектаров #3
GetFileSizeEx() поможет точно.
Yandex
Объявления
12.11.2009, 12:12     Файлы больше четырех гектаров
Ответ Создать тему
Опции темы

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