Загрузка...

Обработка текстовых файлов Си

Тема в разделе C/C++ создана пользователем valentinmaz228 5 дек 2022. 247 просмотров

  1. valentinmaz228
    valentinmaz228 Автор темы 5 дек 2022 0 16 сен 2022
    Проблемы с разработкой программы, которая записывает в текстовый файл произвольный текст, подсчитывает при считывании из этого же файла количество определенного символа, определяемого пользователем. Буду очень благодарен за помощь.
     
  2. Joker9019
    Joker9019 5 дек 2022 Заблокирован(а) 3 27 ноя 2022
    valentinmaz228,
    C

    #include <iostream>

    #include <fstream>

    #include <string>

    int main() {

    // Открытие файла для записи

    std::ofstream out_file("text.txt");

    // Проверка на успешное открытие файла

    if (out_file.is_open()) {

    std::string text;

    // Получение текста от пользователя

    std::cout << "Введите текст, который нужно записать в файл:" << std::endl;

    std::getline(std::cin, text);

    // Запись текста в файл

    out_file << text << std::endl;

    // Закрытие файла

    out_file.close();

    } else {

    // Вывод сообщения об ошибке в случае неуспешного открытия файла

    std::cerr << "Не удалось открыть файл для записи" << std::endl;

    return 1;

    }

    // Открытие файла для чтения

    std::ifstream in_file("text.txt");

    // Проверка на успешное открытие файла

    if (in_file.is_open()) {

    std::string text;

    char symbol;

    int count = 0;

    // Получение символа от пользователя

    std::cout << "Введите символ, который нужно искать в тексте:" << std::endl;

    std::cin >> symbol;

    // Считывание текста из файла

    while (in_file >> text) {

    // Поиск символа в тексте

    for (int i = 0; i < text.length(); i++) {

    if (text[i] == symbol)

    count++;

    }

    }

    // Вывод результата

    std::cout << "Количество найденных символов: " << count << std::endl;

    // Закрытие файла

    in_file.close();

    } else {

    // Вывод сообщения об ошибке в случае неуспешного открытия файла

    std::cerr << "Не удалось открыть файл для чтения" << std::endl;

    return 1;

    }

    return 0;

    }
     
    1. Ириска_неактив1019614
      Joker9019, бро, это не чистая сишка)
  3. olmovc
    olmovc 1 янв 2023 0 1 янв 2023
    C
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>

    int main()
    {
    char text[512];

    char * filename = "file.txt";
    FILE * fp;
    fp = fopen(filename,"w");
    if (fp == NULL)
    {
    printf("\nError opening the file %s", filename);
    return -1;
    }
    printf("Enter text for exit type exit\n");
    while ((fgets(text, sizeof(text), stdin) != NULL) && (strcmp(text, "exit\n") != 0))
    {
    //fgets(text, sizeof(text), stdin);
    fputs(text,fp);
    }
    fclose(fp);
    char ch;
    printf("Enter char\n");
    // scanf("%c", &ch);
    ch = getchar();
    printf("Read text file %c:\n\n", ch);
    fp = fopen(filename,"r");
    if (fp == NULL)
    {
    printf("\nError opening the file %s", filename);
    return -2;
    }
    int char_count = 0;
    char c;
    while (!feof(fp))
    {
    c = fgetc(fp);

    if (c == ch)
    char_count++;

    printf("%c", c);
    }
    fclose(fp);
    printf("\nCount of char %c = %d",ch,char_count);
    return 0;
    }
     
Загрузка...
Top