Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
1 / 1 / 0
Регистрация: 25.07.2019
Сообщений: 42
1

Чтение и запись в двумерный массив огромных файлов

27.08.2019, 14:29. Показов 1221. Ответов 6
Метки нет (Все метки)

Если в кратце то есть очень большой файла в длину и ширину.
Написал программку ,но когда слишком большое количество строк или их длина он тупо краештся.

Вот мой код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
            long long strokeINT=0;
            
            char **code = new char* [15000];   
            for (int i = 0; i < 15000; i++) {         
                code[i] = new char [i + 1]; 
            } 
            ifstream fin;
            fin.open("file.txt");
         
            int n;
            for (n = 0; n < strokeINT && !fin.eof(); ++n) {
                fin.getline(code[n], 900);
                strokeINT++;
            }
            fin.close();
Как это можно решить и возможно ли вообще хранить такое количество информации в c++?
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.08.2019, 14:29
Ответы с готовыми решениями:

Чтение огромных файлов
Необходимо выполнять работу с огромными файлами(например в несколько Гб), чтобы после чтения...

Запись огромных файлов
Надо очень большой файл забить генерируемой инфой. Есть два варианта: Через проекцию; Записывать...

Как организовать чтение ОГРОМНЫХ (>2Gb) файлов?
Подскажите пожалуйста каким образом организовать чтение больших текстовых файлов в VB.NET. Размеры...

Построчное чтение и запись в двумерный массив
День добрый! Есть обычный двумерный динамический массив типа Variant. В него него считывается...

6
15039 / 8058 / 1940
Регистрация: 30.01.2014
Сообщений: 13,642
27.08.2019, 14:43 2
Цитата Сообщение от daneil9 Посмотреть сообщение
возможно ли вообще хранить такое количество информации в c++?
У вас до этого дело даже не дошло. Вы на первой итерации выделили массив из одного элемента (i + 1, при i равным нулю, получается 1), а читаете туда видимо гораздо большую строку - раз там ограничитель в 900 символов.
1
1 / 1 / 0
Регистрация: 25.07.2019
Сообщений: 42
27.08.2019, 15:05  [ТС] 3
Странно ,а почему при чтение более мелких текстов всё спокойно записывается :/ Кстати на счёт ограничителя( 900 символов в строке ).Как это обойти ?
0
15039 / 8058 / 1940
Регистрация: 30.01.2014
Сообщений: 13,642
27.08.2019, 15:19 4
Цитата Сообщение от daneil9 Посмотреть сообщение
Как это обойти ?
Вы сначала напишите подробнее про свою задачу.

Цитата Сообщение от daneil9 Посмотреть сообщение
Странно ,а почему при чтение более мелких текстов всё спокойно записывается
Потому что они мелкие, очевидно же Вы мелкими текстами не достаете до служебных или защищенных данных в памяти, поэтому ничего не падает. Но программа от этого не становится корректной.
Опишите нормально, полностью свою задачу, тогда вам помогут.
1
1 / 1 / 0
Регистрация: 25.07.2019
Сообщений: 42
27.08.2019, 15:32  [ТС] 5
Понятно,а на счёт задачи - записать текст из огромного файла в двумерный массив.
0
6737 / 4537 / 1838
Регистрация: 07.05.2019
Сообщений: 13,725
Записей в блоге: 1
27.08.2019, 15:43 6
Лучший ответ Сообщение было отмечено daneil9 как решение

Решение

Цитата Сообщение от daneil9 Посмотреть сообщение
Как это можно решить и возможно ли вообще хранить такое количество информации в c++?
Наверное как-то вот так
C++
1
2
3
4
5
6
7
8
9
10
std::vector<std::string> lines;
ifstream fin;
fin.open("file.txt");
 
while (fin) 
{
    std::string s;
    std::getline(fin, s);
    lines.emplace_back(std::move(s));
}
1
1 / 1 / 0
Регистрация: 25.07.2019
Сообщений: 42
27.08.2019, 15:53  [ТС] 7
Спасибо!Всё работает.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.08.2019, 15:53

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Двумерный массив запись/ чтение из файла
подскажите пожалуйста как считать из файла двумерный массив размера n´n, заполненный...

Чтение матрицы и запись ее в двумерный массив
нужно считать матрицу из файла.txt и записать ее в двумерный массив, ее размер заранее не известен...

Запись и чтение массива указателей в двумерный массив
Подскажите пожалуйста, вот у меня генерируется двумерный массив в массиве указателей (int**), как...

Обработка огромных файлов
Есть 2 файла бд по 130 млн записей, один вида: id:hash, второй hash:unhash Задача такова, значение...


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

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

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