Что означает низкий уровень ввода / вывода? Как мне реализовать это в этой программе?

Мне нужно написать программу на C, которая принимает три аргумента командной строки:

  1. входной файл один
  2. входной файл два
  3. имя выходного файла

Программа должна считывать данные из файлов 1 и 2 и объединять первый файл с последующим вторым файлом, в результате получается третий файл.

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

Что именно это означает (низкоуровневый ввод / вывод)?

2 ответа

Чтобы ответить на единственный вопрос (что такое низкоуровневый ввод / вывод), это, вероятно, означает собственные функции ввода / вывода операционной системы.

В POSIX это будет, например, open(), close(), read() а также write(),

Например, в Windows CreateFile(), CloseHandle(), ReadFile() а также WriteFile(),

Низкий уровень в основном означает уровень ОС. Это можно сделать с помощью системных вызовов. Разработчики приложений часто не имеют прямого доступа к системным вызовам, но могут получить к ним доступ через интерфейс прикладного программирования (API). Функции, включенные в API, вызывают фактические системные вызовы. Используя API, можно получить определенные преимущества:

Переносимость: пока система поддерживает API, любая программа, использующая этот API, может компилироваться и запускаться.

Простота использования: использование API может быть значительно проще, чем использование реального системного вызова.

Для получения дополнительной информации о системных вызовах посмотрите здесь, здесь и здесь.

Для вашей программы посмотрите здесь.

Другие вопросы по тегам