Определить количество букв А в первом предложении заменить их на "*" с использованием файла - C (СИ)
Формулировка задачи:
Второй код
В трех предложения определить количество букв А в первом предложении заменить их на "*"
Решение задачи: «Определить количество букв А в первом предложении заменить их на "*" с использованием файла»
textual
Листинг программы
#include <stdio.h> #include <string.h> #include <stdlib.h> int main() { const char CFileName[] = "file.txt"; int iCnt = 0; char pszText[256] = {'\0'}; unsigned char* pstr; FILE* f = fopen(CFileName, "r"); if (f == NULL) { perror(CFileName); system("pause"); return EXIT_FAILURE; } while (fgets(pszText, sizeof(pszText) - 1, f)) { for (pstr = (unsigned char*) pszText; *pstr; ++pstr) { if (*pstr== 0x80 || *pstr == 0xA0) // CP-866 { ++iCnt; *pstr = '*'; } printf("%c", *pstr); } } fclose(f); printf("\n\nTotal 'A' chars: %d\n", iCnt); system("pause"); return EXIT_SUCCESS; }
Объяснение кода листинга программы
- Включаем необходимые заголовочные файлы для работы с файлами и строками
- Объявляем константу, содержащую имя файла, с которым мы будем работать
- Инициализируем переменную iCnt, которая будет считать количество символов 'A'
- Создаем массив pszText, который будет хранить текст из файла
- Открываем файл с помощью функции fopen и проверяем, открылся ли он успешно
- Если файл не открылся, выводим сообщение об ошибке и завершаем работу программы
- Входим в цикл while, который будет читать строки из файла до тех пор, пока они есть
- Для каждой строки, читаемой из файла, выполняем цикл for, который будет проверять каждый символ этой строки
- Если символ равен 0x80 или 0xA0 (это символы 'A' в кодировке CP-866), увеличиваем счетчик iCnt и заменяем символ на '*'
- Выводим символ на экран
- Закрываем файл с помощью функции fclose
- Выводим общее количество символов 'A'
- Завершаем работу программы
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д