Записать в начало каждой стоки текстового файла столько пробелов, сколько в ней встречается их - C (СИ)

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

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

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

Решение задачи: «Записать в начало каждой стоки текстового файла столько пробелов, сколько в ней встречается их»

textual
Листинг программы
int CountBlanks(char *s)
{
   int n=0,i=0;
   while(s[i])
   {
       if(s[i]==' ')n++;
       i++;
    }
   return n;
}
int main()
{
    int n,i;
    char str[100];
    FILE *fin,*fout;
    fin=fopen("input.txt","rt");
    fout=fopen("output.txt","wt");
    while(!feof(fin))
    {
       fgets(fin,str);
       n=CountBlanks(str);
       for(i=0;i<n;i++)
            fputc(' ',fout);
       fputs(str,fout);
    }
    fclose(fout);
}

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

  1. В функции CountBlanks идет подсчет количества пробелов в строке, переданной в качестве аргумента.
  2. В функции main открывается входной файл input.txt для чтения и выходной файл output.txt для записи.
  3. Затем происходит чтение строки из входного файла с помощью функции fgets и передача ее в функцию CountBlanks для подсчета пробелов.
  4. Количество пробелов, подсчитанное функцией CountBlanks, используется для записи соответствующего числа пробелов в выходной файл с помощью функции fputc.
  5. После записи пробелов, сама строка из входного файла записывается в выходной файл с помощью функции fputs.
  6. Процесс повторяется до тех пор, пока не достигнут конец файла.
  7. В конце функция fclose закрывает файл fout.

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


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

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

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