Написать программу, которая в текстовом файле, заменяет все строчные буквы прописными, и наоборот - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Помогите с задачей пожалуйста! Написать программу, которая в текстовом файле, заменяет все строчные буквы прописными, и наоборот.

Решение задачи: «Написать программу, которая в текстовом файле, заменяет все строчные буквы прописными, и наоборот»

textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#include <sys/mman.h>
#include <ctype.h>
 
#define FILE_NAME "file.txt"
 
int main(void) {
    struct stat sb;
    off_t len;
    char * p;
    int fd;
    
    if ( ( fd = open(FILE_NAME, O_RDWR) ) < 0 ) {
        perror("open");
        return 1;
    }
    
    if ( fstat(fd, &sb) < 0 ) {
        perror("fstat");
        return 1;
    }
    
    if ( ( p = mmap(0, sb.st_size, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0) ) == MAP_FAILED ) {
        perror("mmap");
        return 1;
    }
    
    if ( close(fd) < 0 ) {
        perror("close");
        return 1;
    }
    
    for ( len = 0; len < sb.st_size; ++len )
        p[len] = ( isupper(p[len]) ) ? tolower(p[len]) : toupper(p[len]);
    
    if ( munmap(p, sb.st_size) < 0 ) {
        perror("munmap");
        return 1;
    }
    
    return 0;
}

Объяснение кода листинга программы

  1. Включаются необходимые заголовочные файлы
  2. Подключается библиотека ctype.h для использования функций isupper, tolower, toupper
  3. Определяется имя файла, с которым будет работать программа
  4. Объявляется переменная типа int с именем main, которая всегда возвращает 0
  5. Определяется структура stat, используемая для получения информации о файле
  6. Открывается файл с помощью функции open. Если файл не может быть открыт, программа выводит сообщение об ошибке и возвращает 1
  7. Функция fstat используется для получения информации о файле
  8. Используется функция mmap для отображения файла в память. Если файл не может быть отображен в память, программа выводит сообщение об ошибке и возвращает 1
  9. Закрывается файловый дескриптор с помощью функции close
  10. Происходит замена строчных букв на прописные и наоборот с помощью цикла for и условий if
  11. Используется функция munmap для освобождения памяти, занимаемой файлом
  12. Программа возвращает 0, указывая, что все действия были выполнены успешно

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4.167 из 5
Похожие ответы