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

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

Войти
Регистрация
Восстановить пароль
 
naxerakozebayan
#1

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

11.11.2009, 16:43. Просмотров 378. Ответов 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++):

Создать новый файл из тех компонент исходного файла, сумма цифр которых больше четырех, но меньше девяти - C++
Записать в файл последовательного f доступа n первых натуральных четных чисел. Создать новый файл из тех компонент исходного файла, сумма...

Программа не обрабатывает файлы больше 100 килобайт - C++
валится при изменении константы MAXFILESIZE. Надо чтобы программа обрабатывала файлы больше 100кб. Было переполнение стека, но я...

Ребята а что FILE * больше 4Gb файлы не поддерживает? - C++
Ребята а что FILE * больше 4Gb файлы не поддерживает?

Структуры: Вывести все танки с 1940-1950 г. чей калибр , больше 50 мм. или же просто больше 50 - C++
Названия структуры: Танки. Ввод данных такой: Названия Год выпуска Калибр Скорость Вывести:

Почему больше четырех элементов массива не заполняется? - C#
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Project3 { class ziferki...

Составить программу, определяющую, в каком из данных четырех чисел больше цифр - Turbo Pascal
Помогите пожалуйста написать программу с помощью функции Составить программу, определяющую, в каком из данных четырех чисел больше цифр

2
kravam
быдлокодер
1702 / 889 / 45
Регистрация: 04.06.2008
Сообщений: 5,498
11.11.2009, 19:34 #2
Чтобы извлечь размер файла, который является большим, чем значение двойного слова (DWORD), используйте функцию GetFileSizeEx

Не поможет?
0
odip
Эксперт С++
7159 / 3221 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
12.11.2009, 12:12 #3
GetFileSizeEx() поможет точно.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.11.2009, 12:12
Привет! Вот еще темы с ответами:

Архивные файлы, да и просто файлы которые весят больше 1гига читаются с ошибкой. - Компьютер
Началось где-то месяца два назад. Архивные файлы, да и просто файлы которые весят больше 1гига читаются с ошибкой. При попытке извлеч из...

Файлы: Выяснить, сколько учеников школы не имеют оценок ниже четырех - Pascal ABC
Дан файл F cодержащий сведения об учениках: Имя и фамилия, год обучения и буква, и оценки, которые ученики получили за последнюю четверть....

Типизированные файлы: Внести в начало списка информацию о четырех новых знакомых - Turbo Pascal
Запись имеет вид: фамилия, номер телефона, дата рождения. Внести в начало списка информацию о четырех новых знакомых. Добавлено через...

Найти: в каком из слов больше четырех символов, буква "а" встречается реже - Turbo Pascal
Дано предложение. Найти - в каком из слов больше четырех символов, - буква "а" встречается реже.


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

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

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