|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
30.09.2018, 15:45 | #1 |
Новичок
Джуниор
Регистрация: 30.09.2018
Сообщений: 1
|
(Язык С) Как считать массив строк из стандартного ввода, если нет никакого сигнала об окончании ввода
На данный момент обучаюсь языку С. Мне необходимо решить следующую задачу:
Задача об отображении темы письма Time limit: 14 s Memory limit: 64 M Чтобы показать информацию о пришедшем письме, нужно сначала её найти. Для этого в файле письма необходимо найти специальные заголовки. Составить программу построчной фильтрации текста. Суть фильтра — отбор строк, начинающихся с одного из следующих выражений: «Date:», «From:»,«To:», «Subject:». Текстовые строки подаются на стандартный ввод программы, результат программы должен подаваться на стандартный вывод. Процедура фильтрации должна быть оформлена в виде отдельной функции, которой подается на вход массив строк, выделенных в динамической памяти и его длина. На выходе функция возвращает указатель на NULL-терминированный массив с найденными строками (последним элементом массива добавлен NULL для обозначения, что данных больше нет). Программа должна уметь обрабатывать возникающие ошибки (например, ошибки выделения памяти). В случае возникновения ошибки нужно вывести в поток стандартного вывода сообщение "[error]" и завершить выполнение программы. ВАЖНО! Программа в любом случае должна возвращать 0. Не пишите return -1, exit(1) и т.п. Даже если обнаружилась какая-то ошибка, все равно необходимо вернуть 0! (и напечатать [error] в stdout). Examples Input: From: admin Subject: hi Sender: admin Output: From: admin Subject: hi Как работает сама функция фильтра мне более менее понятно. Но как считать исходный массив строк? Никакой информации о флаге окончания ввода нет |
01.10.2018, 09:44 | #2 |
Форумчанин
Регистрация: 31.05.2009
Сообщений: 786
|
Считывайте
while(!feof(stdin)) { } подавать на ввод текстовый файл со строками при помощи перенаправления потоков. https://ru.wikipedia.org/wiki/%D0%9F...BE%D0%B4%D0%B0 |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как считать символ char из клавиатурного ввода? | RusRatibor | Помощь студентам | 1 | 13.11.2017 12:07 |
Баг стандартного ввода? Или как мой бесстыжий код приводит к синему экрану смерти | _Bers | Общие вопросы C/C++ | 11 | 02.01.2012 16:34 |
Потоки. Использование стандартного ввода–вывода. | Lazy_Bitch | Общие вопросы C/C++ | 1 | 05.05.2010 12:15 |
Перенаправление стандартного ввода/вывода в файл | Роман Радер | Общие вопросы C/C++ | 1 | 09.01.2010 18:34 |
Как сделать запрет ввода букв в поле для ввода input | zvezda_t | PHP | 1 | 27.12.2009 22:02 |