§ 10. Текстовые файлы

10.3. Чтение и запись строковых данных

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

Этапы выполнения задания

I. Исходные данные: переменная n (количество), переменная st (текущая строка).

II. Результат: выбранные строки.

III. Алгоритм решения задачи.

1. Ввод из файла количества строк. Поскольку после числа в файле стоит символ перевода строки, то необходимо очистить буфер данных.
2. 
В цикле for:

2.1. Читаем строку из файла. 
2.2. Проверяем, есть ли в ней пробелы. Если да, то записываем строку в файл.

Описание переменных: n – int, st – string.

Пример 10.4.

V. Программа:

#include <fstream>

 

using namespace std;

 

int main()

{

  ifstream fin("input.txt");

  ofstream fout("output.txt");

  int n;

  fin >> n;

  fin.ignore();

  for (int i = 0; i < n; i++){

    string st;

    getline(fin, st);

    if (st.find(' ') == -1)

     fout << st << endl;

  }

  return 0;

}

 VI. Тестирование.

1. Файл input.txt.

2. Файл output.txt