Сформировать текстовый файл, в первой строке которого одна литера "1", во второй - две литеры "2" - C (СИ)
Формулировка задачи:
Написать программу формирующую текстовый файл, в первой строке которого одна литера "1", во второй - две литеры "2", ... в девятой - девять "9".
И, если не сложно, напишите комментарии к каждой(!) строчке. И все это дело желательно написать как можно проще. Спасибо:-)
Решение задачи: «Сформировать текстовый файл, в первой строке которого одна литера "1", во второй - две литеры "2"»
textual
Листинг программы
#include <stdio.h>
int main()
{
int i,j;
FILE *ff;
ff=fopen("res.txt","wt");
if(ff==NULL)return 1;
for(i=1;i<=9;i++)
{
for(j=1;j<=i;j++)
fprintf(ff,"%1d",i);
fprintf("\n");
}
fclose(ff);
return 0;
}
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы с файлами и вывода информации на экран
- Объявление переменных: — i, j — счётчики для двойного цикла; — ff — указатель на файл, который будет открыт или закрыт в процессе работы программы.
- Открытие файла
res.txtв режиме записи (атрибутwt) с помощью функции fopen. Если файл не может быть открыт, программа завершается с кодом ошибки 1. - Написание содержимого в файл с помощью функции fprintf:
— Цикл от 1 до 9 с помощью переменной i.
— Внутренний цикл от 1 до i с помощью переменной j.
— В каждой итерации внутреннего цикла в файл записывается символ
1с помощью конвейерного оператора%1d. — После каждой итерации внешнего цикла происходит перевод строки с помощью символа новой строки\n. - Закрытие файла с помощью функции fclose.
- Завершение программы с кодом ошибки 0.