Переделать ввод с консоли на ввод из файла - C (СИ)

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

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

Здравствуйте! Написала программу, но результат таков: я брала информацию из строки. Мне нужно, чтобы брать информацию из файла, а не из строки. Проверьте, пожалуйста. Заранее спасибо вам!Написать программу, которая считывает во внешний файл текстовую строку и подсчитывает количество пробелов в строке.
#include<stdio.h>
#include<string.h>
int main()
{
char str[100];
printf ("vvedite tekstovyu stroky\n");
gets(str);
int i=0,pr=0;
FILE *FL;
FL=fopen("text.txt","w");
fprintf(FL,"%s",str);
fclose(FL);
while(i<strlen(str)) {
if(str[i]=' ')pr++;
i++;
}
printf("novaya stroka:");
puts(str);
printf("kolichestvo probelov:%d\n",pr);
getchar();
}

Решение задачи: «Переделать ввод с консоли на ввод из файла»

textual
Листинг программы
#include <iostream>
#include <algorithm>
#include <functional>
#include <cstring>
#include <cctype>
 
int main(){
    const char * s = "bla bla\tbla ";
 
    std::cout << "String: \"" << s << "\" - " << std::count_if(s, s+strlen(s), std::ptr_fun(isspace)) << " space symbols." << std::endl;
 
    return 0;
}

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

  1. Подключение необходимых заголовочных файлов для работы с консолью, алгоритмами, функциями и строками.
  2. Объявление переменной s типа const char* со значением bla bla\tbla.
  3. Вывод на консоль значения переменной s с помощью std::cout.
  4. Использование функции std::count_if для подсчета количества пробельных символов в строке s.
  5. Передача в функцию std::count_if трех аргументов: начало строки s, конец строки s+strlen(s) и указатель на функцию std::ptr_fun(isspace), которая определяет, является ли символ пробельным.
  6. Вывод на консоль количества найденных пробельных символов с помощью std::cout.
  7. Возврат значения 0 из функции main, что означает успешный конец работы программы.

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


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

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

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