@you_go_home

Как скопировать определенную строчку из файла?

Программа должна считывать из файла поле соответствующего уровня (*,** или ***).
Я не понимаю как осуществить поиск и вывод определенного места в файле. Подскажите кто знает)
#include <locale.h>
#include <stdlib.h>
#include <stdio.h>
#include <time.h>

int level_dif(int dif);
int array[8][8];

void main()

{	/*****************************
	Програмные настройки и инициализация переменных
	******************************/
	setlocale(LC_ALL, "RUS"); // для переключения русской кодировки
	
	int dif;
	puts("Привет! Выбери вариант поля их 3");
	scanf("%d", &dif);
	level_dif(dif);



	system("pause");
}
int level_dif(int dif) {
	char zvezda;
	char bufer=0, bit;
	int i=0;
	if (dif == 1) { zvezda = "*"; }
	if (dif == 2) { zvezda = "**"; }
	if (dif == 3) { zvezda = "***"; }
	FILE* file;
	file = fopen("C:\\Users\\Дом\\source\\repos\\placeplay.txt", "r");
	while (fscanf(file, "%s", bufer) != zvezda) { i++; }
	for (int a = 0; a < 8; a++) {
		for (int b = 0; b < 8; b++) {
			bit = fscanf(file, "%s", bufer);
			if ((bit == "1") || (bit == "0")) {
				array[a][b] = bit;
			}
		}
	}


}

5e261dd1e6977553488692.png
  • Вопрос задан
  • 122 просмотра
Пригласить эксперта
Ответы на вопрос 1
CityCat4
@CityCat4 Куратор тега C
//COPY01 EXEC PGM=IEBGENER
Поиском в текстовом массиве.
Через stat() получить размер файла, через malloc() запросить память, через open() / read() / close() считать его в массив - а дальше тупо strnstr() :)
Просто как полено.

А когда нашел нужное место в массиве - тут уже с ним можно что хочешь делать - копировать, выводить...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы