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

Подсчет строк в гигантском текстовом файле > 4 Гб - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Односвязный список: оптимальное удаление элемента http://www.cyberforum.ru/cpp-beginners/thread789677.html
оптимальный способ удаления из односвязное списка любого элемента списка?
C++ "4102" в конце файла при записи Я не программист, я радиофизик, но у меня возникла необходимость написать программу на c++ Суть проблемы: по нажатии на кнопку в файл пишутся некоторые значения массива. но при работе в различных режимах, так или иначе файл заканчивается цифрами "4102" с новой строки. По количеству значений видно, что эти цифры просто дописываются (не вместо последнего числа) Мне не ясен источник этой... http://www.cyberforum.ru/cpp-beginners/thread789675.html
Выделение памяти для двухмерного массива внутри функции C++
Здравствуйте. Предположим, есть код: #include <iostream> #include <iomanip> #include <cstdlib> #include <time.h> using std::cout; using std::endl;
Проверка числа на то, что оно целое C++
Помогите пожалуйста выловить ошибку: Функция должна проверять введенную пользователем строку. Если строка - целое число, возвращать его. Но что-то идет не так, может кто со свежей головой поможет разобраться. Функция проверяет посимвольно строку, и если символ не цифра, то просит повторить ввод, если цифра - заносит в массив. При всех цифрах, цикл заканчивается и делается преобразование...
C++ Найти все парные трехзначные числа, сумма которых не превышает 10 http://www.cyberforum.ru/cpp-beginners/thread789663.html
Найти все парные трехзначные числа, сумма которых не превышает 10. Зарание спасибо :)
C++ Массив строк Здравствуйте. Разбираюсь с массивами :) Вопрос: почему при выполнении программы выдаются адреса памяти, а не строки? #include <iostream> using namespace std; int main() { int a= подробнее

Показать сообщение отдельно
jkchief
0 / 0 / 0
Регистрация: 19.02.2013
Сообщений: 8
19.02.2013, 16:30  [ТС]     Подсчет строк в гигантском текстовом файле > 4 Гб
Ответ не до конца понятен.
CreateFileMapping и MapViewOfFile принимают значения DWORD. (typedef unsigded long DWORD)....32 бита на сколько я понимаю. Разве я могу скармливать им long long? Или мне нужно дополнительно какой-то функцией распарсить побитно long long на два DWORDа и скармливать отдельно старшую и младшую часть?

Тоесть применимо к моему вопросу будет ли работатьзначения подставленные ниже?

Есть ли вобще смысл заморачиватся и высчитывать CreateFileMapping размеры, я так понимаю можно подставить нули и смапится тогда весь файл.
Ведь эта функция не жрет память?
CreateFileMapping //
0 // size of mapping object, high
0 // size of mapping object, low


MapViewOfFile
10 // high-order 32 bits of file offset 0000 0000 0000 0000 0000 0000 0000 1010
0 // low-order 32 bits of file offset 0000 0000 0000 0000 0000 0000 0000 0000
1048576// number of bytes to map (1 MB)

Добавлено через 8 минут
А как получить размер большого файла для 32 бит приложения, или мне неменуемо нужно переезджать на 64?
 
Текущее время: 08:38. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru