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

Перенос строки в текстовом файле - C++

Восстановить пароль Регистрация
 
tdo22
10 / 10 / 1
Регистрация: 14.02.2013
Сообщений: 727
18.09.2015, 09:57     Перенос строки в текстовом файле #1
Здравствуйте, есть два текстовых файла, я считываю из одного и записываю в другой, если попадается символ "N" нужно сделать перенос строки.
Пример:
Первый блокнот:
Код
EDFJASDUFYPUSOFNFEWFWEFNFWEFFWEN54546N
нужно сделать так, чтоб после символа "N" при запись в другой блокнот делался перенос строки
Второй файл:
Код
EDFJASDUFYPUSOFN
FEWFWEFN
FWEFFWEN
545466N
Я делал этот так:
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>
using namespace std;
 
int main()
{
    ifstream fin("1.txt");
    ofstream fout("2.txt");
    char ch;
    string str = "";
 
    while(!fin.eof())
    {
        fin.get(ch);
        str += ch;
    }
 
    for(int i = 0; i < str.size(); i++)
        if(str[i] == 'N')
        {
            fout << str[i];
            fout << endl;
        }
        else
            fout << str[i];
 
    fin.close();
    fout.close();
    return 0;
}
Но проблема в том, что если файл будет большим, я не смогу его считать в переменную str.
Как можно сделать по другому, чтоб не переписывать все содержимое первого блокнота в переменную ?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.09.2015, 09:57     Перенос строки в текстовом файле
Посмотрите здесь:

Палиндромы в текстовом файле на С++ C++
Перевод из строки в число в текстовом файле C++
Длина строки в текстовом файле C++
C++ Оператор преобразования типа и его эквивалентные замены, поиск строки в текстовом файле , содержащей заданный
В текстовом файле заменить все строки, начинающиеся с буквы ‘f’ на строки, начинающиеся с буквы ‘a’ C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nmcf
4303 / 3724 / 1255
Регистрация: 14.04.2014
Сообщений: 14,579
18.09.2015, 10:20     Перенос строки в текстовом файле #2
Почему думаешь, что не хватит? Туда достаточно много поместится.
Проще читать до разделителя:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <fstream>
#include <iostream>
using namespace std;
 
int main()
{
    ifstream fin("1.txt");
    ofstream fout("2.txt");
    string str;
 
    while(true)
    {
        getline(fin, str, 'N');
        fout << str;
        if (!fin.eof()) fout << "N\n";
        else break;
    }
 
    fin.close();
    fout.close();
    return 0;
}
tdo22
10 / 10 / 1
Регистрация: 14.02.2013
Сообщений: 727
18.09.2015, 10:49  [ТС]     Перенос строки в текстовом файле #3
теперь проблема в том, что есть два символа переноса строки, "N" и "A", как сделать чтоб перенос был по одном из символов ? они встречаются раз N а раз A, то-есть через раз
N A N A...
nmcf
4303 / 3724 / 1255
Регистрация: 14.04.2014
Сообщений: 14,579
18.09.2015, 11:07     Перенос строки в текстовом файле #4
Пример приведи до и после, как в первом сообщении.
Yandex
Объявления
18.09.2015, 11:07     Перенос строки в текстовом файле
Ответ Создать тему
Опции темы

Текущее время: 09:15. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru