Считывание символов из текстового файла - C (СИ)
Формулировка задачи:
Помогите пожалуйста, не могу понять как это записать в С(Си)
Напишите программу, которая будет считывать символы из файла text.txt не загружает, если только символ '*'. При загрузке характер 'х' или о 'X' программ прочитывает X, если символ 'у' или заявление 'Y' прочитал Y при загрузке '#' персонажи '$' или '&' заявление, которое я прочитал управляющий символ, и если читает символ '*' заявление End и закончит чтение файл. После прочтения списков файлов в послании Количество пространств: с последующим пробелом и количества пробелов чтения. Каждое сообщение сопровождается конца строки.
Ukážka súboru text.txt:
$ abc 5 xyz # & Q *# abf
Ukážkový výstup pre súbor text.txt:
Precital som riadiaci znak Precital som X Precital som Y Precital som riadiaci znak Precital som riadiaci znak Koniec Pocet precitanych medzier: 6
Решение задачи: «Считывание символов из текстового файла»
#include <stdio.h> #include <assert.h> int main() { FILE* f; int ch, count = 0; int quit = 0; assert((f = fopen("text.txt", "r"))); while (((ch = fgetc(f)) != EOF) && !quit) { switch (ch) { case '#': case '$': case '&': printf("Precital som riadiaci znak\n"); count++; break; case 'X': case 'x': printf("Precital som X\n"); count++; break; case 'Y': case 'y': printf("Precital som Y\n"); count++; break; case '*': printf("Koniec\n"); count++; quit = 1; break; } } printf("Pocet precitanych medzier: %d\n", count); return 0; }
Объяснение кода листинга программы
- Включаем необходимые заголовочные файлы
- Объявляем переменные:
- f - указатель на файл
- ch - символ, считанный из файла
- count - счетчик символов
- quit - флаг окончания чтения файла
- Открываем файл
text.txt
для чтения с помощью функции fopen и проверяем успешность операции с помощью assert - Запускаем цикл while, который будет выполняться до тех пор, пока не достигнем конца файла (EOF) и флаг quit не станет равным 1
- Внутри цикла считываем символ из файла с помощью функции fgetc и сохраняем его в переменной ch
- Используем оператор switch для проверки значения считанного символа
- Если символ равен '#', '$' или '&', выводим сообщение
Precital som riadiaci znak
и увеличиваем счетчик count на 1 - Если символ равен 'X' или 'x', выводим сообщение
Precital som X
и увеличиваем счетчик count на 1 - Если символ равен 'Y' или 'y', выводим сообщение
Precital som Y
и увеличиваем счетчик count на 1 - Если символ равен '*', выводим сообщение
Koniec
, увеличиваем счетчик count на 1 и устанавливаем флаг quit в 1
- Если символ равен '#', '$' или '&', выводим сообщение
- После выполнения цикла while выводим сообщение
Pocet precitanych medzier: count
- Закрываем файл с помощью функции fclose (которую мы не вызвали, но она необходима для корректного завершения работы с файлом)
- Возвращаем 0, что означает успешное выполнение программы
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д