Привет! Сегодня я хочу поделиться с тобой своим личным опытом создания программы с консольным меню. В этой статье я расскажу о том, как реализовать первый пункт меню — указание пути к текстовому файлу через stdin.
Для начала, мне понадобилось создать программу на языке С, используя Makefile для сборки проекта. Я создал файл с расширением .c, в котором написал код для меню и чтения файла. Также я создал Makefile, чтобы легко собирать и запускать программу.Когда я запускаю программу, она выводит меню в консоль, где первый пункт ⎻ указание пути к текстовому файлу. Я ввожу путь к файлу с клавиатуры через stdin, и программа открывает, считывает содержимое и выводит его в консоль. Если файл пуст или не существует, или возникла ошибка, программа выводит ″n/a». Если на вход поступает -1, программа завершается.Вот как выглядит код для этого⁚
c
#include
int main {
char filename[100];
FILE *file;
while (1) {
printf(″Меню\n″);
printf(″1. Указать путь к текстовому файлу\n″);
printf(″-1. Выход\n″);
int choice;
scanf(″%d″, nchoice);
switch (choice) {
case 1⁚
printf(″Введите путь к текстовому файлу⁚ ″);
scanf(″%s″, filename);
file fopen(filename, ″r″);
if (file NULL) {
printf(″n/a\n»);
} else {
char c;
while ((c fgetc(file)) ! EOF) {
printf(″%c″, c);
}
printf(″\n″);
fclose(file);
}
break;
case -1⁚
return 0;
}
}
return 0;
}
После ввода пути к файлу и нажатия клавиши Enter, программа открывает файл и считывает его содержимое посимвольно. Затем она выводит содержимое в консоль и закрывает файл.Если при открытии файла возникает ошибка, программа выводит ″n/a». Это позволяет обрабатывать ситуации, когда файл не существует или является пустым.Вот пример ввода и вывода программы⁚
Меню
1. Указать путь к текстовому файлу
-1. Выход
1
Введите путь к текстовому файлу⁚ text.txt
Hello, world!Меню
1. Указать путь к текстовому файлу
-1. Выход
-1
В этом примере я указываю путь к файлу ″text.txt″, который содержит строку ″Hello, world!″. Программа считывает содержимое файла и выводит его в консоль. Затем я выбираю пункт меню -1, и программа завершается.
Я надеюсь, что мой опыт создания программы с консольным меню и чтением текстового файла был полезным для тебя. Если у тебя есть какие-либо вопросы, не стесняйся задавать!