Реализации упрощенной версии оболочки и подмножества команд интерпретатора cmd.exe на Си - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Столкнулся с такой вот, не посильной для меня задачей..., по скольку не так давно начал осваивать программирование. Прошу помощи с написанием данного консольного приложения на Си. Если, вдруг, кто-то решит помочь, то прошу это делать с подробным объяснением и комментариями в коде (что для чего и как работает) Возможно в Си есть библиотеки, в которых есть нужные функции. Может возможно вызывать функции ОС для их работы в нашем консольном приложении. ПОМОГИТЕ, УМАААЛЯЮ ))

1.

Должна быть реализована команда Dir с возможностью использования ключей: /o:e /o:n /a:r и возможностью перенаправления вывода информации при помощи символа > Команда Dir должна выводить итоговую информацию - количество файлов и каталогов и суммарный объем файлов.

2.

Реализация команд: cls, date, del

3.

Для всех команд должен быть реализован ключ /? – вывод справочной информации по данной команде в виде текста на русском языке.

4.

При вводе неверной команды должно выводиться сообщение об ошибке – неверная команда

5.

Командная строка должна иметь следующий формат: команда [параметр] [> имя файла] [ключи]

6.

Приглашение и приглашение командной строки при запуске по аналогии с cmd.exe

Решение задачи: «Реализации упрощенной версии оболочки и подмножества команд интерпретатора cmd.exe на Си»

textual
Листинг программы
// CMD.exe на Си
 
#include <stdio.h> // Ввод-Вывод
#include <locale.h> // Локализация
#include <dir.h>
 
int main (void)
{
 
    char DirName[MAXDIR]; 
    getcurdir(0, DirName);
 
setlocale(LC_ALL, "RUS"); // Локализация
 
// Приветствие при запуске
printf("Microsoft Windows [Version: 6.3.9600]\n");
printf("<С> Корпорация Microsoft, 2013. Все права защищены.\n\n");
 
printf("%s", DirName);
 
getchar();
return 0;
}

Объяснение кода листинга программы

  1. Подключение необходимых библиотек для работы с консолью и директориями
  2. Инициализация переменной DirName для хранения имени текущей директории
  3. Получение имени текущей директории с помощью функции getcurdir
  4. Установка локали на русский язык с помощью функции setlocale
  5. Вывод приветствия при запуске программы
  6. Вывод информации о версии Windows
  7. Вывод сообщения об использовании программы
  8. Вывод имени текущей директории с помощью функции printf
  9. Ожидание нажатия клавиши для завершения работы программы
  10. Возврат 0, что означает успешный конец работы программы

Оцени полезность:

12   голосов , оценка 3.833 из 5
Похожие ответы