Преобразовать строчные буквы в заглавные и наоборот - C (СИ)
Формулировка задачи:
Пожалуйста, помогите! Нужно написать программу для любого текстового файла!
Программа должна осуществлять вывод на экрана символов текста, содержащихся в заданном файле, инвертируя при этом все строчные буквы латинского алфавита в заглавные и наоборот - заглавные в строчные.
Вот как я начал программу:
Подскажите, какими дальше командами пользоваться и как вообще сделать это инвертирование??
#include <stdio.h> int main() { int c, nc, nc1, nc2 char file_name_in[FILENAME_MAX]; char file_name_out[FILENAME_MAX]; FILE* f_in; FILE* f_out; printf("File in: "); scanf("%s", file_name_in); f_in=fopen(file_name_in, "rt"); if(f_in==NULL) { printf("ERROR: cannot open file in\n"); return -1; } printf("File out: "); scanf("%s", file_name_out); f_out=fopen(file_name_out, "wt"); if(f_out==NULL) { printf("ERROR: cannot open file out\n"); return -2; }
Решение задачи: «Преобразовать строчные буквы в заглавные и наоборот»
textual
Листинг программы
#include <stdio.h> #include <ctype.h> int main(void) { FILE * f; int c; if ( ! ( f = fopen("file.txt", "r") ) ) return -1; while ( ( c = fgetc(f) ) != EOF ) putchar( isupper(c) ? tolower(c) : toupper(c) ); return ( fclose(f) ); }
Объяснение кода листинга программы
- Включаем необходимые заголовочные файлы для работы с файлами и функциями работы со строками.
- Указываем, что функция main() возвращает значение типа void.
- Объявляем переменную f типа FILE*.
- Объявляем переменную c типа int.
- Открываем файл
file.txt
с помощью функции fopen() и сохраняем указатель на файл в переменную f. - Если открытие файла не удалось, то возвращаем -1.
- В противном случае, начинаем читать файл посимвольно с помощью функции fgetc() и сохранять символы в переменную c.
- Выводим символ на экран с помощью функции putchar().
- Применяем функции isupper() и tolower() к символу c для преобразования строчных букв в заглавные и наоборот.
- Возвращаем значение функции fclose() для закрытия файла.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д