![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы
![]() |
Поиск в этой теме
![]() |
![]() |
#1 |
Форумчанин
Регистрация: 07.06.2015
Сообщений: 164
|
![]()
Есть задача, поменять в огромном текстовом файле (несколько Гб) 2 произвольные строки.
Написал 2 программы: в основе 1 берем vector<string> записываем все строки, затем меняем методом swap 2 строки, удаляем данные файла, записываем в файл vector. Основа 2 программы - читаем 2 строки, записываем данные в новый файл в правильном порядке, удаляем исходный файл, переименовываем новый файл. Проблема в том, что программа работает 5 мин, на файле 100 Мб, на файле 1ГБ, более часа. Кто знает другой способ поменять 2 произвольные строки в огромном файле. |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,370
|
![]()
Читать файл большими блоками. Потом блоки разбирать на строчки и сразу менять что надо и сбрасывать во второй файл. Так и vector не нужен.
|
![]() |
![]() |
![]() |
#3 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,828
|
![]()
можно смапировать файл
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Поиск в таблице произвольных строк и подстановка значения из другой | Zme | Microsoft Office Excel | 1 | 07.06.2014 10:35 |
Чтение произвольных строк из файла | Ruslan9 | Microsoft Office Word | 5 | 05.03.2012 12:45 |
Замена строки в файле | Bubel | C# (си шарп) | 1 | 17.11.2011 22:38 |
Замена строки в файле - C | tools | Помощь студентам | 1 | 20.12.2010 01:39 |
Замена символа в файле | Spandei | Общие вопросы C/C++ | 1 | 14.05.2010 08:21 |