Записать в начало каждой стоки текстового файла столько пробелов, сколько в ней встречается их - 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);
- }
Объяснение кода листинга программы
- В функции
CountBlanks
идет подсчет количества пробелов в строке, переданной в качестве аргумента. - В функции
main
открывается входной файлinput.txt
для чтения и выходной файлoutput.txt
для записи. - Затем происходит чтение строки из входного файла с помощью функции
fgets
и передача ее в функциюCountBlanks
для подсчета пробелов. - Количество пробелов, подсчитанное функцией
CountBlanks
, используется для записи соответствующего числа пробелов в выходной файл с помощью функцииfputc
. - После записи пробелов, сама строка из входного файла записывается в выходной файл с помощью функции
fputs
. - Процесс повторяется до тех пор, пока не достигнут конец файла.
- В конце функция
fclose
закрывает файлfout
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д