Member 14829241 Ответов: 2

Каков код для следующего вопроса?


Напишите программу на языке Си (без использования каких - либо стандартных инструментов или библиотечных функций) для печати верхних N или/и нижних N строк заданного набора файлов. Выведите первые/последние N строк каждого файла на стандартный вывод. При наличии нескольких файлов перед каждым из них ставится заголовок с указанием имени файла.
Способ вызова программы таков:
а.из –м –з-н –т н Файл1 Файл2 ....Филен (-з-н – напечатать первые n строк из каждого файла
-t N – нижние N строк из каждого файла)
-q – не печатайте заголовок с указанием имен файлов

Что я уже пробовал:

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

Richard MacCutchan

Какой код вы пытались скомпилировать? Если у вас есть проблема, то вам нужно объяснить детали. Мы не сможем помочь, пока не увидим, что код пытается сделать.

2 Ответов

Рейтинг:
2

CPallini

Грубо говоря у вас есть две задачи:

  1. Проанализируйте командную строку (для параметров и аргументов: имена файлов).
  2. Читайте файлы строка за строкой, извлекая соответствующую информацию и сообщая ее.

Сам факт того что каждому варианту должен предшествовать дефис simplyfy задача (1).
Для задач (2) Я бы посоветовал вам прочитать хороший учебник по C файл I/O См., например: Основы работы с файлами в C - GeeksforGeeks[^].


Maciej Los

Коротко И По Существу!

Member 14829241

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

Рейтинг:
0

RickZeeland

Смотрите пример здесь, чтобы получить представление о том, как обрабатывать файлы: C программа для поиска количества строк в текстовом файле[^]

Для обработки аргументов командной строки см.: Аргументы Командной Строки C | W3Schools | Tutorialspoint | W3Adda[^]


Member 14829241

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

Maciej Los

5ed!