Привет! Меня зовут Алекс и сегодня я решил поделиться с тобой своим опытом создания программы «Заметки» на языке C ․ Я сам всегда забываю важные вещи, поэтому эта программа стала настоящим спасением для меня․Для начала, давай разберемся с выводом списка доступных заметок․ Я решил использовать текстовые файлы, в которых хранится информация каждой заметки․ Для вывода списка используемой директории, мы можем использовать класс `dirent`, который предоставляет функции для работы с файлами и директориями․ Вот как это можно сделать⁚
cpp
#include
#include
int main {
// Открываем директорию
DIR *dir;
struct dirent *ent;
if ((dir opendir(″․″)) ! NULL) {
// Читаем файлы и директории
while ((ent readdir(dir)) ! NULL) {
if (ent->d_type DT_REG) {
std⁚⁚cout << ent->d_name << std⁚⁚endl;
}
}
closedir(dir);
} else {
// Обработка ошибки открытия директории
std⁚⁚cerr << ″Error opening directory″ << std⁚⁚endl;
return 1;
}
return 0;
}
Когда мы запускаем эту программу, она выведет список файлов в текущей директории․ Теперь давай перейдем к чтению информации из выбранной заметки или созданию новой заметки․Для чтения информации из файла можно использовать класс `ifstream`․ Вот пример кода⁚
cpp
#include
#include
int main {
std⁚⁚string filename;
std⁚⁚cout << ″Введите название заметки⁚ ″ << std⁚⁚endl;
std⁚⁚cin >> filename;
std⁚⁚ifstream file(filename);
if (file․is_open) {
std⁚⁚string line;
while (std⁚⁚getline(file, line)) {
std⁚⁚cout << line << std⁚⁚endl;
}
file;close;
} else {
// Обработка ошибки открытия файла
std⁚⁚cerr << ″Error opening file″ << std⁚⁚endl;
return 1;
}
return 0;
}
В этом примере я позволил пользователю ввести название заметки, которую он хочет прочитать․ Затем, я открываю файл с этим названием и построчно выводлю его содержимое․Если пользователь хочет создать новую заметку, мы можем использовать класс `ofstream` для записи информации в файл․ Вот пример кода⁚
#include
int main {
std⁚⁚string filename;
std⁚⁚cout << ″Введите название заметки⁚ ″ << std⁚⁚endl;
std⁚⁚cin >> filename;
std⁚⁚ofstream file(filename);
if (file․is_open) {
std⁚⁚string note;
std⁚⁚cout << ″Введите текст заметки⁚ ″ << std⁚⁚endl;
std⁚⁚cin․ignore; // Игнорируем символ новой строки
std⁚⁚getline(std⁚⁚cin, note);
file << note;
file․close;
} else {
// Обработка ошибки открытия файла
std⁚⁚cerr << ″Error opening file″ << std⁚⁚endl;
return 1;
}
return 0;
}
В этом примере я позволил пользователю ввести название новой заметки, а затем считываю текст заметки с помощью функции `std⁚⁚getline`․ После этого я записываю текст в созданный файл․Вот и все! Теперь у тебя есть программа «Заметки» на языке C , которая выводит список доступных заметок и позволяет пользователю читать существующие заметки или создавать новые․ Эта программа стала настоящим инструментом для меня и я надеюсь, что она будет полезной и для тебя!Всего доброго,
Алекс․