Как быстро считать данные с файла с определенного места? Здравствуйте У меня возник вопрос касательно считывания данных с файла В моем файле все данные записаны в одну строку без лишних разделителей и т.д. (например простой текст, "было утро. я пошел в лес.") Я знаю позицию начала каждого предложения в этом файле (и длину предложения тоже): предложение 1->начало->0, длина->10; предложение 2->начало->12, длина->14 Как мне на С быстро считать данные с нужной позиции? Идти циклом по символам не самый лучший вариант, так как файл может содержать очень много данных и это скажется на времени Есть ли какой-то способ считывать данные с файла с нужной позиции на С? Либо может есть какие-либо идеи или аналоги того, как можно это реализовать?

29 Мая 2021 в 20:06
422 +1
1
Ответы
1

Для быстрого считывания данных с файла с определенной позиции на языке C вы можете использовать функцию fseek() в комбинации с fread().

Пример кода может выглядеть следующим образом:

#include <stdio.h>
int main() {
FILE *file = fopen("file.txt", "r");
if (file == NULL) {
perror("Error opening file");
return 1;
}
fseek(file, 12, SEEK_SET); // Перемещаем указатель файла на позицию 12
char buffer[15]; // Размер буфера должен быть равен длине предложения + 1 для завершающего нуля
if (fread(buffer, 1, 14, file) != 14) {
perror("Error reading from file");
return 1;
}
buffer[14] = '\0'; // Добавляем завершающий нуль
fclose(file);
printf("%s\n", buffer);
return 0;
}

Этот код открывает файл "file.txt", перемещает указатель файла на позицию 12 и считывает 14 символов в буфер. Пожалуйста, обратите внимание, что размер буфера должен быть равен длине предложения + 1 для символа конца строки ('\0').

Надеюсь, это поможет вам решить вашу проблему считывания данных с файла с определенной позиции на языке C.

17 Апр в 17:50
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 92 588 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир