Как, используя toupper(), перевести текст в заглавный? - C (СИ)
Формулировка задачи:
Хорошо, как используя toupper() перевести текст в заглавный?
Решение задачи: «Как, используя toupper(), перевести текст в заглавный?»
textual
Листинг программы
#include <stdio.h> #include <ctype.h> char * str_toupper(char * s) { if ( *s ) { *s = toupper(*s); str_toupper(s + 1); } return s; } int main(void) { char buf[BUFSIZ]; while ( printf("String: ") && fgets(buf, BUFSIZ, stdin) && *buf != '\n' ) printf("UPPERCASE: %s", str_toupper(buf)); return 0; }
Объяснение кода листинга программы
- Включаем необходимые заголовочные файлы
и . - Определяем функцию str_toupper(), которая принимает указатель на начало строки и переворачивает строку в верхний регистр.
- Если первый символ строки не равен нулю, то мы применяем функцию toupper() к этому символу и записываем его обратно в строку.
- Затем рекурсивно вызываем функцию str_toupper() для следующего симвома в строке.
- Если первый символ строки равен нулю, то мы завершаем рекурсию и возвращаем указатель на начало строки.
- В функции main() мы считываем строку с помощью fgets() в буфер buf, размер которого определен как BUFSIZ.
- Мы продолжаем считывать строки до тех пор, пока пользователь не введет пустую строку или не завершит ввод.
- Для каждой введенной строки мы вызываем функцию str_toupper(), передавая ей указатель на начало строки.
- Результат функции str_toupper() выводится на экран с помощью функции printf().
- В конце функции main() возвращается 0, что означает успешный конец работы программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д