Проблемы с разработкой программы, которая записывает в текстовый файл произвольный текст, подсчитывает при считывании из этого же файла количество определенного символа, определяемого пользователем. Буду очень благодарен за помощь.
valentinmaz228, #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; } 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; }
#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; } 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; }