Поиск кириллицы в строке - C (СИ)
Формулировка задачи:
Приветствую. Есть вот такая задачка:
Так и не разобрался, как из строки считать не-ASCII символы целиком, а не по байтам:
Выводит:
Результат, в принципе, ожидаемый. Собственно, сам файл:
Как тут с многобайтовыми строками работать?
Скопировать текстовый файл в новый файл, перенести в него только те строки, в которых встречаются русские буквы, и указав после каждой строки количество русских букв в ней.
#include <stdio.h> void main() { FILE *file = fopen("../test.txt", "r"); int sym = 0; while (!feof(file)) { sym = getc(file); printf("%d\n", sym); } }
113 10 208 166 10 -1
$ cat test.txt q Ц
Решение задачи: «Поиск кириллицы в строке»
textual
Листинг программы
#include <stdio.h> int main(void) { FILE *file = fopen("../test.txt", "r"); int sym = 0; while ((sym=getc(file))!=EOF) { printf("%d\n", sym); } return 0; }
Объяснение кода листинга программы
В этом коде открывается файл ../test.txt
для чтения, и считывается каждая символьная запись в цикле, пока не достигнут конец файла (EOF). Затем каждая символьная запись выводится на консоль с помощью функции printf(). Переменная sym
используется для хранения текущей символьно-кодовой единицы. В конце программы возвращается 0, что означает успешное выполнение.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д