Как запихнуть строки в массив и вынуть от туда 1 определённую - C (СИ)
Формулировка задачи:
есть документ txt с таким содержанием:
fffffffff000.
ййdvrve1111111111.
22222222222.
33333333333333.
44444.
как это засунуть в массив я разобрался, а вот как вывести на экран строку, номер которой пользователь вводит ?
#include <stdio.h>
#define N 80
main () {
FILE *file;
char arr[N];
file = fopen("1.txt", "r");
while (fgets (arr, N, file) != NULL)
printf("%s", arr);
printf("\n");
fclose(file);
}Решение задачи: «Как запихнуть строки в массив и вынуть от туда 1 определённую»
textual
Листинг программы
#include <stdio.h>
#define N 80
int main ()
{
FILE *file;
char arr[100][N];
int i=0,k;
file = fopen("1.txt", "r");
while (fgets (arr[i], N, file) != NULL && i<100)
{
printf("%s", arr[i]);
i++;
}
fclose(file);
printf("k=?");
scanf("%d",&k);
printf("%s\n", arr[k]);
return 0;
}
Объяснение кода листинга программы
В этом коде:
- Объявляется файл, который будет открыт для чтения (
r). - Создается массив двухмерных строк, который может содержать до 100 строк.
- Инициализируется переменная i для отслеживания количества прочитанных строк.
- В цикле while считывается каждая строка из файла до тех пор, пока не будет достигнута последняя строка или не будет прочитано больше 100 строк.
- Считанная строка выводится на консоль.
- После окончания цикла, файл закрывается.
- Пользователю предлагается ввести номер строки для вывода.
- Введенное значение сохраняется в переменной k.
- Выводится строка с указанным номером.
- Программа завершается.