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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 27, средняя оценка - 4.67
cibertronic
256 / 143 / 13
Регистрация: 27.12.2009
Сообщений: 908
#1

Разделение текстового файла на части - C++

11.09.2010, 18:17. Просмотров 3450. Ответов 22
Метки нет (Все метки)

имеется текстовый файл(ANSI) *.txt очень огромный для латиницы, нужно разделить на файлы типа *.map хотя можно и *.txt поочередно с 1 и далее, до конца читаемого файла. метка для разбиения - "[SpecialFlags]" включая квадратные скобки.
допустим файл multimd.txt имеет вид
Код
[SpecialFlags]
текст

[SpecialFlags]
текст

[SpecialFlags]
текст
нужно сделать в каждом файле отдельный кусок этого файла

Код
[SpecialFlags]
текст
аформление хоть через консоль хоть через форму, не важно.

файл чтения более 40мб.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.09.2010, 18:17
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Разделение текстового файла на части (C++):

Разбивка текстового файла на части - C++
Добрый день. Подскажите пожалуйста как можно реализовать следующий алгоритм: Имеется текстовый файл, в этом файле есть блоки информации...

Разделение строк на части - C++
C7-D5 поступает такая строка как мне ее разделить сначала по - а потом уже посимвольно. Пишу активно на C# но требуют С++ в C# это выглядит...

Добавить в конец первого текстового файла содержимое второго текстового файла - C++
Даны два текстовых файла. Добавить в конец первого файла содержимое второго файла.

Разделение числа на целую и дробную части - C++
Добрый день! Можно ли разделить число например 95.05 на 95 и 05 и как это сделать?

Разделение массива и сортировка каждой части методом пузырька - C++
Помогите решить пример: Имеется массив целых чисел большого размера. Требуется разделить этот массив на части (не выделяя их в отдельный...

Разделение файла. - C++
Нужна помощь в программе на С: Разделить файл.Записать строки с нечетными номерами в первый файл,строки с четными номерами во второй...

22
Andrew_Lvov
Эксперт С++
259 / 189 / 5
Регистрация: 19.08.2010
Сообщений: 760
Записей в блоге: 1
12.09.2010, 01:15 #16
Автор, хоть бы написал "помогите" или что-то в этом роде.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <fstream>
#include <iostream>
#include <string>
#include <sstream>
#include <iomanip>
 
int main( int argc, char* argv[] )
{
    std::ifstream ifs( "multimd.txt" );
 
    for( long i = 0; !ifs.eof(); ++i )
    {
        std::ostringstream ostr;
        ostr << "output" << std::setw(5) << std::setfill('0') << i;
        std::ofstream ofs( ostr.str().c_str() );
        for( int j = 0; j < 3; ++j )
        {
            std::string str;
            std::getline( ifs, str );
            ofs << str << std::endl;
        }
    }
 
    return 0;
}
1
fasked
Эксперт С++
4948 / 2528 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
12.09.2010, 01:30 #17
Andrew_Lvov, малость дополнил, но не проверял, очевидно теперь задача решена хоть как-то
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include <fstream>
#include <iostream>
#include <string>
#include <sstream>
#include <iomanip>
 
int main(int argc, char* argv[])
{   
    std::ifstream ifs( "multimd.txt" );
 
    for( long i = 0; !ifs.eof(); ++i )
    {
        std::ostringstream ostr;
        ostr << "output" << std::setw(5) << std::setfill('0') << i;
        std::ofstream ofs( ostr.str().c_str() );
 
        while(ifs)
        {   
            std::string str;
            std::getline( ifs, str );
            
            if(str == "[SpecialFlags]")
                break;
                
            ofs << str << std::endl;
        }
    }
 
    return 0;
}
1
Andrew_Lvov
Эксперт С++
259 / 189 / 5
Регистрация: 19.08.2010
Сообщений: 760
Записей в блоге: 1
12.09.2010, 01:36 #18
fasked, а я проверил
Вы не пишите строчку, содержащую [SpecialFlags] в результирующие файлы.
0
fasked
Эксперт С++
4948 / 2528 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
12.09.2010, 01:41 #19
Цитата Сообщение от Andrew_Lvov Посмотреть сообщение
Вы не пишите строчку, содержащую [SpecialFlags] в результирующие файлы.
точно, забыл про нее. ну так никто не мешает перед циклом while(ifs) дописать
C++
1
ofs << "[SpecialFlags]" << std::endl;
0
Andrew_Lvov
Эксперт С++
259 / 189 / 5
Регистрация: 19.08.2010
Сообщений: 760
Записей в блоге: 1
12.09.2010, 01:44 #20
Цитата Сообщение от fasked Посмотреть сообщение
точно, забыл про нее. ну так никто не мешает перед циклом while(ifs) дописать
Я исходил из того, что под [specialflags] автор мог понимать "что-то в квадратных скобках без переноса строки".
0
fasked
Эксперт С++
4948 / 2528 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
12.09.2010, 01:47 #21
Цитата Сообщение от Andrew_Lvov Посмотреть сообщение
Я исходил из того, что под [specialflags] автор мог понимать "что-то в квадратных скобках без переноса строки".
Я исходил из того, что количество строк текста может быть проивзольное.

Автор не указал чего он именно хочет, не привел конкретного примера.
Ему предоставлен работающий хоть как-то код - захочет исправит на то, что ему надо.
0
silent_1991
Эксперт С++
4987 / 3044 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
12.09.2010, 11:57 #22
fasked,

Не по теме:

Или ручками

0
cibertronic
256 / 143 / 13
Регистрация: 27.12.2009
Сообщений: 908
14.09.2010, 16:14  [ТС] #23
код писал немного подругому, уже затерял среди исходников, но больее и не нужен. за вашу помощь спасибо. нашел программу редактирования псевдо архивов типа *.mix . достал то что нужно, доволен.
0
14.09.2010, 16:14
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.09.2010, 16:14
Привет! Вот еще темы с ответами:

Разделение программы на два файла - C++
Необходимо разделить программу на два файла, предварительная работа с программой не привела к нужным результатам. Сейчас не имею...

Преобразование текстового файла в двоичный и чтение исходных данных из двоичного файла. - C++
#include&lt;iostream&gt; #include&lt;fstream&gt; #include&lt;locale.h&gt; #include&lt;iomanip&gt; #include &lt;cstdlib&gt; using namespace std; struct...

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

Указание текстового файла-источника и принимающего файла в cmd - C++
Подскажите, как сделать что б при вводе через cmd надо было указывать файл-исходник и принимающий файл? &quot;полный путь\fdsfsd.exe in.txt...


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

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

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