Реализации упрощенной версии оболочки и подмножества команд интерпретатора cmd.exe на Си - C (СИ)
Формулировка задачи:
Столкнулся с такой вот, не посильной для меня задачей..., по скольку не так давно начал осваивать программирование. Прошу помощи с написанием данного консольного приложения на Си. Если, вдруг, кто-то решит помочь, то прошу это делать с подробным объяснением и комментариями в коде (что для чего и как работает)
Возможно в Си есть библиотеки, в которых есть нужные функции. Может возможно вызывать функции ОС для их работы в нашем консольном приложении.
ПОМОГИТЕ, УМАААЛЯЮ ))
1.
Должна быть реализована команда Dir с возможностью использования ключей: /o:e /o:n /a:r и возможностью перенаправления вывода информации при помощи символа > Команда Dir должна выводить итоговую информацию - количество файлов и каталогов и суммарный объем файлов.2.
Реализация команд: cls, date, del3.
Для всех команд должен быть реализован ключ /? – вывод справочной информации по данной команде в виде текста на русском языке.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;
}
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы с консолью и директориями
- Инициализация переменной DirName для хранения имени текущей директории
- Получение имени текущей директории с помощью функции getcurdir
- Установка локали на русский язык с помощью функции setlocale
- Вывод приветствия при запуске программы
- Вывод информации о версии Windows
- Вывод сообщения об использовании программы
- Вывод имени текущей директории с помощью функции printf
- Ожидание нажатия клавиши для завершения работы программы
- Возврат 0, что означает успешный конец работы программы