Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
meJevin
156 / 148 / 92
Регистрация: 18.11.2015
Сообщений: 677
Завершенные тесты: 1
#1

Повторное чтение файла

21.03.2016, 14:57. Просмотров 861. Ответов 2
Метки нет (Все метки)

Привет, у меня есть файл с несколькими строками, я беру одну строку - проверяю на условие какое-то, если она подходит по условию - пишу в файл другой. Но дело в том, что чтобы мне записать в дугой файл надо закрыть тот, с которого я считываю. Так вот, закрыв файл, с которого я считываю - я открываю тот, в который буду писать. И так, пока не закончится текст(строки). У меня проблема, так как у меня это все в do while цикле, а он каждый раз открывает файл, с которого я буду считывать и закрывает, когда доходит до '\n', снова и снова, у меня в начало файла идет программа и копирует одно и тоже, как это исправить?

Добавлено через 3 минуты
Пример:

(файл с которого читаю)
(строка, которую надо копировать) -> проверка на условие пройдена, закрываем файл, с которого читаем и открываем, в который будем писать.
(строка, которую НЕ надо копировать) -> эта строка уже не проверяется, так как я заново открыл файл, с которого читаю
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.03.2016, 14:57
Ответы с готовыми решениями:

Чтение из файла. Повторное чтение файла
Добрый день. Необходимо реализовать в программе функцию повторного чтения...

Повторное открытие файла
пишу очередную учебную программу, и возник вопрос вопросов. я открываю...

Повторное открытие файла через классы
Добрый день. Пишу программу, которая должна уметь считывать файл, выполнять...

Почему после считывания матрицы из файла начинается повторное считывание?
Здравствуйте. ПРоблема такова, считывает размер матрицы и саму матрицу, после...

Записать в файл g, компоненты файла f, исключив повторное вхождения чисел
Дан файл f, компоненты которого являются целыми числами. Записать в файл g,...

2
iars
6 / 6 / 7
Регистрация: 19.03.2016
Сообщений: 50
21.03.2016, 15:00 #2
Лучший ответ Сообщение было отмечено meJevin как решение

Решение

meJevin, не понимаю, зачем изощряться с открытием-закрытием.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <fstream>
#include <string>
 
using namespace std;
 
int main() {
    ifstream f1("in.txt");
    ofstream f2("out.txt", ios::app);
    string line;
 
    do {
        f1 >> line;
        
        if(line.length() == 4)
            f2 << line;
 
    } while(!f1.eof());
 
    return 0;
}
1
meJevin
156 / 148 / 92
Регистрация: 18.11.2015
Сообщений: 677
Завершенные тесты: 1
21.03.2016, 15:12  [ТС] #3
Цитата Сообщение от iars Посмотреть сообщение
изощряться
Хаха, и вправду, ну я сверхразум конечно) Спасибо)
А как мне в f2 написать полностью строку, а не слово строки? Потому что считывание прекращается, когда находится пробел.

Добавлено через 1 минуту
Сам понял
C++
1
std::getline(f1, line);
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.03.2016, 15:12

Переделать в коде чтение из файла в чтение с клавиатуры
Переделайте что бы текст считывался с клавиатуры, а не с файла! Буду благодарен...

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

Чтение нескольких структур и одной переменной из бинарного файла. Формат файла имеется
Формат файла состоит из 3 структур и одной переменной. Подробное описание...


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

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

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