Дан текстовый файл. Напечатать все строки с номерами от к1 до к2. На си
Ответы
Ответ:
Для решения задачи считаем, что каждая строка текстового файла заканчивается символом переноса строки \n. Тогда для печати строк с номерами от k1 до k2 можно прочитать файл построчно и печатать только те строки, номера которых попадают в заданный диапазон. Пример кода на языке C:
Объяснение:
#include <stdio.h>
int main() {
char filename[100];
int k1, k2;
printf("Введите имя файла: ");
scanf("%s", filename);
printf("Введите номера строк k1 и k2: ");
scanf("%d %d", &k1, &k2);
FILE* file = fopen(filename, "r");
if (file == NULL) {
printf("Ошибка открытия файла\n");
return 1;
}
int line_number = 1;
char buffer[1000];
while (fgets(buffer, sizeof(buffer), file) != NULL) {
if (line_number >= k1 && line_number <= k2) {
printf("%s", buffer);
}
line_number++;
}
fclose(file);
return 0;
}