Записать в начало каждой стоки текстового файла столько пробелов, сколько в ней встречается их - 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
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д